home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / internet-drafts / draft-ietf-ifmib-evolution-02.txt < prev    next >
Text File  |  1993-08-11  |  115KB  |  3,304 lines

  1.  
  2.           Draft             Interfaces Group Evolution       August 1993
  3.  
  4.  
  5.  
  6.  
  7.  
  8.                    Evolution of the Interfaces Group of MIB-II
  9.  
  10.                                   9 August 1993
  11.  
  12.  
  13.                                  Keith McCloghrie
  14.                                 Hughes LAN Systems
  15.                                    kzm@hls.com
  16.  
  17.                                Frank J. Kastenholz
  18.                                    FTP Software
  19.                                   kasten@ftp.com
  20.  
  21.  
  22.  
  23.           Status of this Memo
  24.  
  25.           This document is an Internet Draft.  Internet Drafts are
  26.           working documents of the Internet Engineering Task Force
  27.           (IETF), its Areas, and its Working Groups.  Note that other
  28.           groups may also distribute working documents as Internet
  29.           Drafts.
  30.  
  31.           Internet Drafts are valid for a maximum of six months and may
  32.           be updated, replaced, or obsoleted by other documents at any
  33.           time.  It is inappropriate to use Internet Drafts as reference
  34.           material or to cite them other than as a "work in progress".
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.           Expires 8 Feb 1994                                    [Page 1]
  57.  
  58.  
  59.  
  60.  
  61.           Draft             Interfaces Group Evolution       August 1993
  62.  
  63.  
  64.           1.  Introduction
  65.  
  66.           MIB-II [4] is the core set of managed objects defined for use
  67.           by network management of the Internet suite of protocols.
  68.           MIB-II was defined using the SNMPv1 Network Management
  69.           Framework.
  70.  
  71.           This memo discusses the 'interfaces' group of MIB-II,
  72.           especially the experience gained from the definition of
  73.           numerous media-specific MIB modules for use in conjunction
  74.           with the 'interfaces' group for managing various sub-layers
  75.           beneath the internetwork-layer.  It proposes clarifications
  76.           to, and extensions of, the architectural issues within the
  77.           current model used for the 'interfaces' group.
  78.  
  79.           This memo also includes a MIB module.  As well as including
  80.           new MIB definitions to support the architectural extensions,
  81.           this MIB module also re-specifies the 'interfaces' group of
  82.           MIB-II in a manner which is both compliant to the SNMPv2 SMI
  83.           and semantically-identical to the existing SNMPv1-based
  84.           definitions.
  85.  
  86.  
  87.           1.1.  Change Log
  88.  
  89.           This section tracks changes made to the revisions of the
  90.           Internet Drafts of this document.  It will be deleted when the
  91.           document is published as an RFC.
  92.  
  93.           19 July/9 August 1993
  94.  
  95.           The following changes were made for the version of the
  96.           document dated 9 August 1993.  These changes are listed in no
  97.           particular order.
  98.  
  99.           (1)  Additional text clarifying the meaning of "higher layer
  100.                protocol" has been added.
  101.  
  102.           (2)  Per the working group meeting in Amsterdam, a statement
  103.                was added stating that the 32 bit counters will always be
  104.                available and, when 64-bit counters are in use, will
  105.                report the least significant 32 bits of the 64 bit
  106.                counters.
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.           Expires 8 Feb 1994                                    [Page 2]
  116.  
  117.  
  118.  
  119.  
  120.           Draft             Interfaces Group Evolution       August 1993
  121.  
  122.  
  123.           (3)  Per the working group meeting in Amsterdam, strengthened
  124.                the wording of Section 3.2.3 "Virtual Circuits" that
  125.                recommends that entries in the ifTable not be assigned to
  126.                connections.
  127.  
  128.           (4)  Per the working group meeting in Amsterdam, added text to
  129.                Section 3.2.3 "Virtual Circuits" that requires that the
  130.                MIB designer present rationale if entries in the ifTable
  131.                are assigned to connections.
  132.  
  133.           (5)  Per the working group meeting in Amsterdam, ifOutQLen has
  134.                been deprecated.
  135.  
  136.           (6)  Per the working group meeting in Amsterdam,
  137.                ifExtnsPromiscuous has been retained in the extension of
  138.                the ifTable.
  139.  
  140.           (7)  Per the working group meeting in Amsterdam,
  141.                ifExtnsRevWare and ifExtnsChipSet were deleted from the
  142.                MIB on the basis that their exact use is very unclear.
  143.                It is quite possible in many interface architectures to
  144.                "mix and match" chipsets and drivers, leading to
  145.                ambiguity as to the intended contents of these objects.
  146.  
  147.           (8)  Per the working group meeting in Amsterdam, the
  148.                ifExtnsTestTable has been replaced with the ifTestTable.
  149.  
  150.           (9)  Per the working group meeting in Amsterdam, the text
  151.                describing the ifTest group's implementation status has
  152.                been altered to reflect the fact that a media-specific
  153.                mib should use the ifTestTable for any tests it defines,
  154.                and therefore may make implementation of the group
  155.                mandatory.
  156.  
  157.           (10) Per the working group meeting in Amsterdam, 2 interface
  158.                speed steps for using 64 bit counters are specified.  The
  159.                first is for using 64-bit octet counters.  The second is
  160.                for using 64-bit packet counters.
  161.  
  162.           (11) Per the working group meeting in Amsterdam, the 64-bit
  163.                error counters have been removed.
  164.  
  165.           (12) Per the working group meeting in Amsterdam, a section has
  166.                been added that provides the rationale for the default
  167.                setting specified for ifLinkUpDownTrapEnable.
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.           Expires 8 Feb 1994                                    [Page 3]
  175.  
  176.  
  177.  
  178.  
  179.           Draft             Interfaces Group Evolution       August 1993
  180.  
  181.  
  182.           (13) The semantics of ifSpecific have been tightened up, to
  183.                recommend the use of the semantics of InstancePointer,
  184.                even though the SYNTAX isn't changed so as to: not
  185.                require deprecating it, and not make existing
  186.                implementations non-compliant.
  187.  
  188.           (14) The ifTable has been split into two tables.  The first
  189.                table contains all objects that were in the original
  190.                ifTable.  The second table contains all objects that have
  191.                been added by this MIB.
  192.  
  193.           (15) In the ifTestTable, the use of ifTestCommunity (and
  194.                ifTestContext which would also have been required for
  195.                SNMPv2) and ifExtnsTestRequestId objects have been
  196.                replaced by the new ifTestId, ifTestStatus, and
  197.                ifTestOwner objects.
  198.  
  199.           (16) Some new enumerated values for ifType have been added.
  200.  
  201.           (17) The compliance statements have been updated so that
  202.                support for the 'testing(3)' value of ifAdminStatus is
  203.                not required.
  204.  
  205.           (18) Several ASN.1 and SMI errors were fixed.
  206.  
  207.           (19) Several spelling and grammar errors were fixed.
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.           Expires 8 Feb 1994                                    [Page 4]
  234.  
  235.  
  236.  
  237.  
  238.           Draft             Interfaces Group Evolution       August 1993
  239.  
  240.  
  241.           2.  The SNMPv2 Network Management Framework
  242.  
  243.           The SNMPv2 Network Management Framework consists of four major
  244.           components.  They are:
  245.  
  246.           o    RFC 1442 which defines the SMI, the mechanisms used for
  247.                describing and naming objects for the purpose of
  248.                management.
  249.  
  250.           o    RFC 1213 defines MIB-II, the core set of managed objects
  251.                for the Internet suite of protocols.
  252.  
  253.           o    RFC 1445 which defines the administrative and other
  254.                architectural aspects of the framework.
  255.  
  256.           o    RFC 1448 which defines the protocol used for network
  257.                access to managed objects.
  258.  
  259.           The Framework permits new objects to be defined for the
  260.           purpose of experimentation and evaluation.
  261.  
  262.  
  263.           2.1.  Object Definitions
  264.  
  265.           Managed objects are accessed via a virtual information store,
  266.           termed the Management Information Base or MIB.  Objects in the
  267.           MIB are defined using the subset of Abstract Syntax Notation
  268.           One (ASN.1) defined in the SMI.  In particular, each object
  269.           object type is named by an OBJECT IDENTIFIER, an
  270.           administratively assigned name.  The object type together with
  271.           an object instance serves to uniquely identify a specific
  272.           instantiation of the object.  For human convenience, we often
  273.           use a textual string, termed the descriptor, to refer to the
  274.           object type.
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.           Expires 8 Feb 1994                                    [Page 5]
  293.  
  294.  
  295.  
  296.  
  297.           Draft             Interfaces Group Evolution       August 1993
  298.  
  299.  
  300.           3.  Experience with the Interfaces Group
  301.  
  302.           One of the strengths of internetwork-layer protocols such as
  303.           IP [6] is that they are designed to run over any network
  304.           interface.  In achieving this, IP considers any and all
  305.           protocols it runs over as a single "network interface" layer.
  306.           A similar view is taken by other internetwork-layer protocols.
  307.           This concept is represented in MIB-II by the 'interfaces'
  308.           group which defines a generic set of managed objects such that
  309.           any network interface can be managed in an interface-
  310.           independent manner through these managed objects.  The
  311.           'interfaces' group provides the means for additional managed
  312.           objects specific to particular types of network interface
  313.           (e.g., a specific medium such as Ethernet) to be defined as
  314.           extensions to the 'interfaces' group for media-specific
  315.           management.  Since the standardization of MIB-II, many such
  316.           media-specific MIB modules have been defined.
  317.  
  318.           Experience in defining these media-specific MIB modules has
  319.           shown that the model defined by MIB-II is too simplistic
  320.           and/or static for some types of media-specific management.  As
  321.           a result, some of these media-specific MIB modules have
  322.           assumed an evolution/loosening of the model.  This memo is a
  323.           proposal to document/standardize the evolution of the model
  324.           and to fill in the gaps caused by that evolution.
  325.  
  326.           A previous effort to extend the interfaces group resulted in
  327.           the publication of RFC 1229 [7].  As part of defining the
  328.           evolution of the interfaces group, this memo applies that
  329.           evolution to, and thereby incorporates the RFC 1229
  330.           extensions.
  331.  
  332.  
  333.           3.1.  Areas of Clarification/Revision
  334.  
  335.           There are several areas for which experience indicates that
  336.           clarification, revision, or extension of the model would be
  337.           helpful.  The next sections discuss these.
  338.  
  339.  
  340.           3.1.1.  Interface Numbering
  341.  
  342.           MIB-II defines an object, ifNumber, whose value represents:
  343.  
  344.                "The number of network interfaces (regardless of their
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.           Expires 8 Feb 1994                                    [Page 6]
  352.  
  353.  
  354.  
  355.  
  356.           Draft             Interfaces Group Evolution       August 1993
  357.  
  358.  
  359.                current state) present on this system."
  360.  
  361.           Each interface is identified by a unique value of the ifIndex
  362.           object, and the description of ifIndex constrains its value as
  363.           follows:
  364.  
  365.                "Its value ranges between 1 and the value of ifNumber.
  366.                The value for each interface must remain constant at
  367.                least from one re-initialization of the entity's network
  368.                management system to the next re-initialization."
  369.  
  370.           This constancy requirement on the value of ifIndex for a
  371.           particular interface is vital for efficient management.
  372.           However, an increasing number of devices allow for the dynamic
  373.           addition/removal of network interfaces.  One example of this
  374.           is a dynamic ability to configure the use of SLIP/PPP over a
  375.           character-oriented port.  For such dynamic additions/removals,
  376.           the combination of the constancy requirement and the
  377.           restriction that the value of ifIndex is less than ifNumber is
  378.           problematic.
  379.  
  380.  
  381.           3.1.2.  Interface Sub-Layers
  382.  
  383.           Experience in defining media-specific management information
  384.           has shown the need to distinguish between the multiple sub-
  385.           layers beneath the internetwork-layer.  In addition, there is
  386.           a need to manage these sub-layers in devices (e.g., MAC-layer
  387.           bridges) which are unaware of which, if any, internetwork
  388.           protocols run over these sub-layers.  As such, a model of
  389.           having a single conceptual row in the interfaces table (MIB-
  390.           II's ifTable) represent a whole interface underneath the
  391.           internetwork-layer, and having a single associated media-
  392.           specific MIB module (referenced by the ifSpecific object) is
  393.           too simplistic.  A further problem arises with the value of
  394.           the ifType object which has enumerated values for each type of
  395.           interface.
  396.  
  397.           Consider, for example, an interface with PPP running over an
  398.           HDLC link which uses a RS232-like connector.  Each of these
  399.           sub-layers has its own media-specific MIB module.  If all of
  400.           this is represented by a single conceptual row in the ifTable,
  401.           then an enumerated value for ifType is needed for that
  402.           specific combination, and that row's ifSpecific variable can
  403.  
  404.           "point" to only one of the three media-specific MIB modules.
  405.  
  406.  
  407.  
  408.  
  409.  
  410.           Expires 8 Feb 1994                                    [Page 7]
  411.  
  412.  
  413.  
  414.  
  415.           Draft             Interfaces Group Evolution       August 1993
  416.  
  417.  
  418.           Furthermore, even if there was a convention for deciding which
  419.           MIB module is referenced by ifSpecific then there is still a
  420.           lack of a method to describe the relationship of all the sub-
  421.           layers of the MIB stack.
  422.  
  423.           An associated problem is that of upward and downward
  424.           multiplexing of the sub-layers.  An example of upward
  425.           multiplexing is MLP (Multi-Link) which provides load-sharing
  426.           over several serial lines by appearing as a single point-to-
  427.           point link to the sub-layer(s) above.  An example of downward
  428.           multiplexing would be several instances of PPP, each running
  429.           over a Frame Relay virtual circuit, all of which run over the
  430.           same ISDN B channel.  The current MIB structure does not allow
  431.           for these sorts of relationships to be described.
  432.  
  433.  
  434.           3.1.3.  Virtual Circuits
  435.  
  436.           Several of the sub-layers for which media-specific MIB modules
  437.           have been defined are connection oriented (e.g., Frame Relay,
  438.           X.25).  Experience has shown that each effort to define such a
  439.           MIB module revisits the question of whether separate
  440.           conceptual rows in the ifTable are needed for each virtual
  441.           circuit.  Most, if not all, of these efforts to date have
  442.           decided to have all virtual circuits reference a single
  443.           conceptual row in the ifTable.
  444.  
  445.  
  446.           3.1.4.  Bit and Character Oriented Interfaces
  447.  
  448.           RS-232 is an example of a character-oriented sub-layer over
  449.           which (e.g., through use of PPP) IP datagrams can be sent.
  450.           Due to the packet-based nature of many of the objects in the
  451.           ifTable, experience has shown that it is not appropriate to
  452.           have a character-oriented sub-layer represented by a (whole)
  453.           conceptual row in the ifTable.
  454.  
  455.           Experience has also shown that it is sometimes desirable to
  456.           have some management information for bit-oriented interfaces,
  457.           which are similarly difficult to represent by a (whole)
  458.           conceptual row in the ifTable.  For example, to manage the
  459.           channels of a DS1 circuit, where only some of the channels are
  460.           carrying packet-based data.
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.           Expires 8 Feb 1994                                    [Page 8]
  470.  
  471.  
  472.  
  473.  
  474.           Draft             Interfaces Group Evolution       August 1993
  475.  
  476.  
  477.           3.1.5.  Counter Size
  478.  
  479.           As the speed of network media increase, the minimum time in
  480.           which a 32 bit counter will wrap decreases.  For example, on
  481.           an Ethernet, a stream of back-to-back, full-size packets will
  482.           cause ifInOctets to wrap in just over 57 minutes, for a T3
  483.           line, the minimum wrap-time is just over 12 minutes, and for
  484.           FDDI, it will wrap in 5.7 minutes.  For a 1-gigabit medium,
  485.           the counter might wrap in as little as 34 seconds.  Requiring
  486.           that interfaces be polled frequently enough not to miss a
  487.           counter wrap will be increasingly problematic.
  488.  
  489.  
  490.           3.1.6.  Interface Speed
  491.  
  492.           Network speeds are increasing.  IfSpeed is limited to
  493.           reporting a maximum speed of (2**31)-1 bits/second, or
  494.           approximately 2.2Gbs.  SONET defines an OC-48 interface, which
  495.           is defined at operating at 48 times 51 Mbs, which is a speed
  496.           in excess of 2.4gbits.  Thus, ifSpeed will be of diminishing
  497.           utility over the next several years.
  498.  
  499.  
  500.           3.1.7.  Multicast/Broadcast Counters
  501.  
  502.           The counters in the ifTable for packets addressed to a
  503.           multicast or the broadcast address, are combined as counters
  504.           of non-unicast packets.  In contrast, the ifExtensions MIB [7]
  505.           defines one set of counters for multicast, and a separate set
  506.           for broadcast packets.  With the separate counters, the
  507.           original combined counters become redundant.
  508.  
  509.  
  510.           3.1.8.  Output Queue
  511.  
  512.           This is a place holder right now for the explanation of any
  513.           new congestion and output-q-length goop.
  514.  
  515.  
  516.           3.2.  Clarifications/Revisions
  517.  
  518.           The following clarifications and/or revisions are proposed.
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.           Expires 8 Feb 1994                                    [Page 9]
  529.  
  530.  
  531.  
  532.  
  533.           Draft             Interfaces Group Evolution       August 1993
  534.  
  535.  
  536.           3.2.1.  Interface Numbering
  537.  
  538.           One solution to the interface numbering problem would be to
  539.           redefine ifNumber to be the largest value of ifIndex, but the
  540.           utility of such an object is questionable, and such a re-
  541.           definition would require ifNumber to be deprecated.  Thus, an
  542.           improvement would be to deprecate ifNumber and not replace it.
  543.           However, the deprecation of ifNumber would require a change to
  544.           that portion of ifIndex's definition which refers to ifNumber.
  545.           So, since the definition of ifIndex must be changed anyway in
  546.           order to solve the problem, changes to ifNumber do not benefit
  547.           the solution.
  548.  
  549.           The solution adopted in this memo is just to delete the
  550.           requirement that the value of ifIndex must be less than the
  551.           value of ifNumber, and to retain ifNumber with its current
  552.           definition.  It could be argued that this is a change in the
  553.           semantics of ifIndex; however, all existing implementations
  554.           conform to this new definition, and in the interests of not
  555.           requiring changes in existing implementations and in the many
  556.           existing media-specific MIBs, it is proposed that this change
  557.           does not require ifIndex to be deprecated.
  558.  
  559.           This solution also results in the possibility of "holes" in
  560.           the ifTable, i.e., the ifIndex values of conceptual rows in
  561.           the ifTable are not necessarily contiguous, but SNMP's GetNext
  562.           (and SNMPv2's GetBulk) operation easily deals with such holes.
  563.           The value of ifNumber still represents the number of
  564.           conceptual rows, which increases/decreases as new interfaces
  565.           are dynamically added/removed.  The vital constancy
  566.           requirement is met by requiring that after an interface is
  567.           dynamically removed, its ifIndex value is not re-used (by
  568.           another dynamically added interface) until after the following
  569.           re-initialization of the network management system.  This
  570.           avoids the need for a priori assignment of ifIndex values for
  571.           all possible interfaces which might be added dynamically.
  572.  
  573.           Because of the restriction of the value of ifIndex to be less
  574.           than ifNumber, interfaces have been numbered with small
  575.           integer values.  This has led to the ability by humans to use
  576.           the ifIndex values as (somewhat) user-friendly names for
  577.  
  578.           network interfaces (e.g., "interface number 3").  With the
  579.           relaxation of the restriction on the value of ifIndex, there
  580.           is now the possibility that ifIndex values could be assigned
  581.           as very large numbers (e.g., memory addresses).  Such numbers
  582.  
  583.  
  584.  
  585.  
  586.  
  587.           Expires 8 Feb 1994                                   [Page 10]
  588.  
  589.  
  590.  
  591.  
  592.           Draft             Interfaces Group Evolution       August 1993
  593.  
  594.  
  595.           would be much less user-friendly.  Therefore, this memo
  596.           recommends that ifIndex values still be assigned as small
  597.           integer values starting at 1, even though the values in use at
  598.           any one time are not necessarily contiguous.  (Note that this
  599.           makes it easy for agents which dynamically add new interfaces,
  600.           to remember which values have been assigned.)
  601.  
  602.           This proposed change introduces a new problem of its own.
  603.           Previously, there usually was a simple, direct, mapping of
  604.           interfaces to the physical ports on systems.  This mapping
  605.           would be based on the ifIndex value.  However, by removing the
  606.           previous restrictions on the values allowed for ifIndex, along
  607.           with the interface sub-layer concept (see the following
  608.           section), mapping from interfaces to physical ports becomes
  609.           increasingly problematic.
  610.  
  611.           To address this issue, a new object, ifName, is added to the
  612.           MIB.  This object contains the device's name for the interface
  613.           of which the relevant entry in the ifTable is a component.
  614.           For example, if a router has an interface named wan1, which is
  615.           composed of PPP running over an RS-232 port, the ifName
  616.           objects for the PPP and RS-232 entries in the ifTable will
  617.           contain the string "wan1".
  618.  
  619.  
  620.           3.2.2.  Interface Sub-Layers
  621.  
  622.           One possible but not recommended solution to the problem of
  623.           representing multiple sub-layers would be to retain the
  624.           concept of one conceptual row for all the sub-layers of an
  625.           interface and have each media-specific MIB module identify its
  626.           "superior" and "subordinate" sub-layers through OBJECT
  627.           IDENTIFIER "pointers".  The drawbacks of this scheme are: 1)
  628.           that the superior/subordinate pointers are contained in the
  629.           media-specific MIB modules, and thus, a manager could not
  630.           learn the structure of an interface, without inspecting
  631.           multiple pointers in different MIB modules; this is overly
  632.           complex and only possible if the manager has knowledge of all
  633.           the relevant media-specific MIB modules; 2) current MIB
  634.           modules would all need to be retrofitted with these new
  635.  
  636.           "pointers"; 3) this scheme does not adequately address the
  637.           problem of upward and downward multiplexing; and 4) enumerated
  638.           values of ifType are needed for each combination of sub-
  639.           layers.
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.           Expires 8 Feb 1994                                   [Page 11]
  647.  
  648.  
  649.  
  650.  
  651.           Draft             Interfaces Group Evolution       August 1993
  652.  
  653.  
  654.           Another possible but not recommended scheme would be to retain
  655.           the concept of one conceptual row for all the sub-layers of an
  656.           interface and have a new separate MIB table to identify the
  657.           "superior" and "subordinate" sub-layers and to contain OBJECT
  658.           IDENTIFIER "pointers" to media-specific MIBs.  Effectively,
  659.           one conceptual row in the ifTable would represent each
  660.           combination of sub-layers between the internetwork-layer and
  661.           the wire.  While this scheme has fewer drawbacks, it would
  662.           deprecate the use of ifSpecific and it still does not support
  663.           downward multiplexing, such as PPP over MLP: since MLP makes
  664.           two (or more) serial lines appear to the layers above as a
  665.           single physical interface, PPP over MLP should appear to the
  666.           internetwork-layer as a single interface; this scheme,
  667.           however, would result in two (or more) conceptual rows in the
  668.           ifTable, both of which the internetwork-layer would run over.
  669.           This scheme also requires enumerated values of ifType for each
  670.           combination of sub-layers.
  671.  
  672.           The solution adopted in this memo is to have an individual
  673.           conceptual row in the ifTable to represent each sub-layer, and
  674.           have a new separate MIB table (the ifStackTable, see section 5
  675.           of this memo) to identify the "superior" and "subordinate"
  676.           sub-layers through INTEGER "pointers" to the appropriate
  677.           conceptual rows in the ifTable.  This solution supports both
  678.           upward and downward multiplexing, allows the ifSpecific
  679.           pointer in each conceptual row of the ifTable to point to the
  680.           media-specific MIB module for that sub-layer, such that the
  681.           new table need only be referenced to obtain information about
  682.           layering, and it only requires enumerated values of ifType for
  683.           each sub-layer, not for combinations of them.  However, it
  684.           does require that the descriptions of some objects in the
  685.           ifTable (specifically, ifType, ifPhysAddress, ifInUcastPkts,
  686.           and ifOutUcastPkts) be generalized so as to apply to any sub-
  687.           layer (rather than only to a sub-layer immediately beneath the
  688.           network layer, as at present), plus some (specifically,
  689.           ifSpeed) which need to have appropriate values identified for
  690.           use when a generalized definition does not apply to a
  691.           particular sub-layer.
  692.  
  693.  
  694.           In addition, this adopted solution makes no requirement that a
  695.           device, in which a sub-layer is instrumented by a conceptual
  696.           row of the ifTable, be aware of whether an internetwork
  697.           protocol runs on top of (i.e., at some layer above) that sub-
  698.           layer.
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.           Expires 8 Feb 1994                                   [Page 12]
  706.  
  707.  
  708.  
  709.  
  710.           Draft             Interfaces Group Evolution       August 1993
  711.  
  712.  
  713.           The designer of a media-specific MIB must decide whether to
  714.           divide the interface into sub-layers or not, and if so, how to
  715.           make the divisions.  The following guidance is offered to
  716.           assist the media-specific MIB designer in these decisions.
  717.  
  718.           In general, the number of entries in the ifTable should be
  719.           kept to the minimum required for network management.  In
  720.           particular, a group of related interfaces should be treated as
  721.           a single interface with one entry in the ifTable providing
  722.           that:
  723.  
  724.           (1)  None of the group of interfaces performs multiplexing for
  725.                any other interface in the agent,
  726.  
  727.           (2)  There is a meaningful and useful way for all of the
  728.                ifTable's information (e.g., the counters, and the status
  729.                variables), and all of the ifTable's capabilities (e.g.,
  730.                write access to ifAdminStatus), to apply to the group of
  731.                interfaces as a whole.
  732.  
  733.           Under these circumstances, there should be one entry in the
  734.           ifTable for such a group of interfaces, and any internal
  735.           structure which needs to be represented to network management
  736.           should be captured in a MIB module specific to the particular
  737.           type of interface.
  738.  
  739.           Note that application of bullet 2 above to the ifTable's
  740.           ifSpecific and ifType objects requires that there is a
  741.           meaningful media-specific MIB and a meaningful ifType value
  742.           which apply to the group of interfaces as a whole.  For
  743.           example, it is not appropriate to treat an HDLC sub-layer and
  744.           an RS-232 sub-layer as a single ifTable entry when the media-
  745.           specific MIBs and the ifType values for HDLC and RS-232 are
  746.           separate (rather than combined).
  747.  
  748.           These guidelines are just that, guidelines.  The designer of a
  749.           media-specific MIB is free to lay out the MIB in whatever
  750.           manner is desired.
  751.  
  752.  
  753.           However, regardless of a media-specific MIB's design, the
  754.           designer of a media-specific MIB MUST completely state the
  755.           sub-layering model used for the MIB, and provide the
  756.           assumptions, reasoning, and rationale used to develop that
  757.           model.
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.           Expires 8 Feb 1994                                   [Page 13]
  765.  
  766.  
  767.  
  768.  
  769.           Draft             Interfaces Group Evolution       August 1993
  770.  
  771.  
  772.           In general, the counters of packets/octets received on an
  773.           interface are defined as counting the number "delivered to a
  774.           higher-layer protocol".  This meaning of "higher-layer"
  775.           includes delivery to a forwarding module which accepts
  776.           packets/frames/octets and forwards them on at the same
  777.           protocol layer.  For example, for the purposes of this
  778.           definition, the forwarding module of a MAC-layer bridge is
  779.           considered as a "higher-layer" to the MAC-layer of each port
  780.           on the bridge.
  781.  
  782.  
  783.           3.2.3.  Virtual Circuits
  784.  
  785.           This memo strongly recommends that connection-oriented sub-
  786.           layers do not have a conceptual row in the ifTable for each
  787.           virtual circuit.  This avoids the proliferation of conceptual
  788.           rows, especially those which have considerable redundant
  789.           information.  (Note, as a comparison, that connection-less
  790.           sub-layers do not have conceptual rows for each remote
  791.           address.)  There may, however, be circumstances under which it
  792.           is appropriate for a virtual circuit of a connection-oriented
  793.           sub-layer to have its own conceptual row in the ifTable; an
  794.           example of this might be PPP over a Frame Relay virtual
  795.           circuit.  The MIB in section 5 of this memo supports such
  796.           circumstances.
  797.  
  798.           If a media-specific MIB wishes to assign an entry in the
  799.           ifTable to each virtual circuit, the MIB designer must present
  800.           the rationale for this decision in the media-specific MIB's
  801.           specification.
  802.  
  803.  
  804.           3.2.4.  Bit and Character Oriented Interfaces
  805.  
  806.           About half the objects in the ifTable are applicable to every
  807.           type of interface: packet-oriented, character-oriented, and
  808.           bit-oriented.  Of the other half, two are applicable to both
  809.  
  810.           character-oriented and packet-oriented interfaces, and the
  811.           rest are applicable only to packet-oriented interfaces.  Thus,
  812.           while it is desirable for consistency to be able to represent
  813.           any/all types of interfaces in the ifTable, it is not possible
  814.           to implement the full ifTable for bit- and character-oriented
  815.           sub-layers.
  816.  
  817.           One possible but not recommended solution to this problem
  818.  
  819.  
  820.  
  821.  
  822.  
  823.           Expires 8 Feb 1994                                   [Page 14]
  824.  
  825.  
  826.  
  827.  
  828.           Draft             Interfaces Group Evolution       August 1993
  829.  
  830.  
  831.           would be to split the ifTable into two (or more) new MIB
  832.           tables, one of which would contain objects that are relevant
  833.           only to packet-oriented interfaces (e.g., PPP), and another
  834.           that may be used by all interfaces.  This is highly
  835.           undesirable since it would require changes in every agent
  836.           implementing the ifTable (i.e., just about every existing SNMP
  837.           agent).
  838.  
  839.           The solution adopted in this memo builds upon the fact that
  840.           compliance statements in SNMPv2 (in contrast to SNMPv1) refer
  841.           to object groups, where object groups are explicitly defined
  842.           by listing the objects they contain.  Thus, in SNMPv2,
  843.           multiple compliance statements can be specified, one for all
  844.           interfaces and additional ones for specific types of
  845.           interfaces.  The separate compliance statements can be based
  846.           on separate object groups, where the object group for all
  847.           interfaces can contain only those objects from the ifTable
  848.           which are appropriate for every type of interfaces.  Using
  849.           this solution, every sub-layer can have its own conceptual row
  850.           in the ifTable.
  851.  
  852.           Thus, section 5 of this memo contains definitions of the
  853.           objects of the existing 'interfaces' group of MIB-II, in a
  854.           manner which is both SNMPv2-compliant and semantically-
  855.           equivalent to the existing MIB-II definitions.  With
  856.           equivalent semantics, and with the BER ("on the wire")
  857.           encodings unchanged, these definitions retain the same OBJECT
  858.           IDENTIFIER values as assigned by MIB-II.  Thus, no rewrite of
  859.           existing agents is required.
  860.  
  861.           Three new object groups are defined: the ifGeneralGroup
  862.           containing those objects applicable to all types of network
  863.           interfaces; the ifCharacterGroup containing those objects
  864.           applicable to character-oriented or packet-oriented network
  865.           interfaces; and the ifPacketGroup containing those objects
  866.           applicable only to packet-oriented network interfaces.
  867.  
  868.  
  869.  
  870.           3.2.5.  Counter Size
  871.  
  872.           Two approaches to addressing the shrinking minimum counter-
  873.           wrap time problem were evaluated.  Counters could be scaled,
  874.           for example, ifInOctets could be changed to count received
  875.           octets in, e.g., 1024 byte blocks.  Alternatively, the size of
  876.           the counter could be increased.
  877.  
  878.  
  879.  
  880.  
  881.  
  882.           Expires 8 Feb 1994                                   [Page 15]
  883.  
  884.  
  885.  
  886.  
  887.           Draft             Interfaces Group Evolution       August 1993
  888.  
  889.  
  890.           Scaling the counters was rejected.  While it provides
  891.           acceptable performance at high count rates, at low rates it
  892.           suffers.  If there is little traffic on an interface, there
  893.           might be a significant interval before enough counts occur to
  894.           cause a counter to be incremented.  Traffic would then appear
  895.           to be very bursty, leading to incorrect conclusions of the
  896.           network's performance.
  897.  
  898.           The alternative, which this memo adopts, is to provide
  899.           expanded, 64 bit, counters.  These counters are provided in
  900.           two new groups, the "high capacity" packet counters group
  901.           (ifHCPacketGroup) and octet counters group
  902.           (ifHCCharacterGroup).  These new groups provide new, 64 bit,
  903.           counters for use as appropriate.
  904.  
  905.           The old, 32-bit, counters have not been deprecated.  The 64-
  906.           bit counters are to be used only when the 32-bit counters do
  907.           not provide enough capacity; that is, the 32 bit counters
  908.           could wrap too fast.
  909.  
  910.           For interfaces that operate at 20,000,000 (20 million) bits
  911.           per second or less, 32-bit byte and packet counters MUST be
  912.           used.  For interfaces that operate faster than 20,000,000
  913.           bits/second, and slower than 600,000,000 bits/second, 32-bit
  914.           packet counters MUST be used and 64-bit octet counters MUST be
  915.           used.  For interfaces that operate at 600,000,000 bits/second
  916.           or faster, 64-bit packet counters AND 64-bit octet counters
  917.           MUST be used.
  918.  
  919.           These speed steps were chosen as reasonable compromises based
  920.           on the following:
  921.  
  922.           (1)  The cost of maintaining 64-bit counters is relatively
  923.                high, so minimizing the number of agents which must
  924.                support them is desirable.  Common interfaces (such as
  925.  
  926.                Ethernet) should not require them.
  927.  
  928.           (2)  64-bit counters are a new feature, introduced in SNMPv2.
  929.                It is reasonable to expect that support for them will be
  930.                spotty for the immediate future.  Thus, we wish to limit
  931.                them to as few systems as possible.  This, in effect,
  932.                means that 64-bit counters should be limited to higher
  933.                speed interfaces.  Ethernet (10,000,000 bps) and Token
  934.                Ring (16,000,000 bps) are fairly wide-spread so it seems
  935.                reasonable to not require 64-bit counters for these
  936.  
  937.  
  938.  
  939.  
  940.  
  941.           Expires 8 Feb 1994                                   [Page 16]
  942.  
  943.  
  944.  
  945.  
  946.           Draft             Interfaces Group Evolution       August 1993
  947.  
  948.  
  949.                interfaces.
  950.  
  951.           (3)  The 32-bit octet counters will wrap in the following
  952.                times, for the following interfaces (when transmitting
  953.                maximum-sized packets back-to-back):
  954.  
  955.                -   Ethernet: 57 minutes,
  956.  
  957.                -   16 megabit Token Ring: 36 minutes,
  958.  
  959.                -   A US T3 line (45 megabits): 12 minutes,
  960.  
  961.                -   FDDI: 5.7 minutes
  962.  
  963.           (4)  The 32-bit packet counters wraps in about 57 minutes when
  964.                64-byte packets are transmitted back-to-back on a
  965.                600,000,000 bit/second link.
  966.  
  967.                As an aside, a 1-terabit (1,000 gigabits) link will cause
  968.                a 64 bit octet counter to wrap in just under 5 years.
  969.                Conversely, an 81,000,000 terabit/second link is required
  970.                to cause a 64-bit counter to wrap in 30 minutes.  We
  971.                believe that, while technology rapidly marches forward,
  972.                this link speed will not be achieved for at least several
  973.                years, leaving sufficient time to evaluate the
  974.                introduction of 96 bit counters.
  975.  
  976.           When 64-bit counters are in use, the 32-bit counters MUST
  977.           still be available.  They will report the low 32-bits of the
  978.           associated 64-bit count (e.g., ifInOctets will report the
  979.           least significant 32 bits of ifHCInOctets).  This enhances
  980.           inter-operability with existing implementations at a very
  981.           minimal cost to agents.
  982.  
  983.  
  984.  
  985.           3.2.6.  Interface Speed
  986.  
  987.           In order to deal with increasing interface speeds, we have
  988.           added an ifHighSpeed object.
  989.  
  990.           This object reports the speed of the interface in 1,000,000 (1
  991.           million) bits/second units.  Thus, the true speed of the
  992.           interface will be the value reported by this object, plus or
  993.           minus 500,000 bits/second.
  994.  
  995.  
  996.  
  997.  
  998.  
  999.  
  1000.           Expires 8 Feb 1994                                   [Page 17]
  1001.  
  1002.  
  1003.  
  1004.  
  1005.           Draft             Interfaces Group Evolution       August 1993
  1006.  
  1007.  
  1008.           Other alternatives considered were:
  1009.  
  1010.           (1)  Making the interface speed a 64-bit gauge.  This was
  1011.                rejected since the current SMI does not allow such a
  1012.                syntax.
  1013.  
  1014.                Furthermore, even if 64-bit gauges were available, their
  1015.                use would require additional complexity in agents due to
  1016.                an increased requirement for 64-bit operations.
  1017.  
  1018.           (2)  We also considered making "high-32 bit" and "low-32-bit"
  1019.                objects which, when combined, would be a 64-bit value.
  1020.                This simply seemed overly complex for what we are trying
  1021.                to do.
  1022.  
  1023.                Furthermore, a full 64-bits of precision does not seem
  1024.                necessary.  IfHighSpeed will be the only report of
  1025.                interface speed for interfaces that are faster than
  1026.                2,147,483,647 bits per second.  At this speed, the
  1027.                granularity of ifHighSpeed will be 1,000,000 bits per
  1028.                second, thus the error will be 1/2147, or about 0.05%.
  1029.                This seems reasonable.
  1030.  
  1031.           (3)  Adding a "scale" object, which would define the units
  1032.                which ifSpeed's value is.
  1033.  
  1034.                This would require two additional objects; One for the
  1035.                scaling object and one to replace the current ifSpeed.
  1036.                This later object is required since the semantics of
  1037.                ifSpeed would be significantly altered, and manager
  1038.                stations which do not understand the new semantics would
  1039.                be confused.
  1040.  
  1041.  
  1042.  
  1043.           3.2.7.  Multicast/Broadcast Counters
  1044.  
  1045.           To avoid the redundancy of counting all non-unicast packets as
  1046.           well as having individual multicast and broadcast packet
  1047.           counters, we deprecate the use of the non-unicast counters,
  1048.           which can be derived from the values of the others.
  1049.  
  1050.           For the output broadcast and multicast counters defined in RFC
  1051.           1229, their definitions varied slightly from the packet
  1052.           counters in the ifTable, in that they did not count
  1053.           errors/discarded packets.  To align the definitions better,
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.           Expires 8 Feb 1994                                   [Page 18]
  1060.  
  1061.  
  1062.  
  1063.  
  1064.           Draft             Interfaces Group Evolution       August 1993
  1065.  
  1066.  
  1067.           the old counters are deprecated and replaced by new
  1068.           definitions.  64-bit versions of these counters are also
  1069.           needed as explained above.
  1070.  
  1071.  
  1072.           3.2.8.  Output Queue
  1073.  
  1074.           This is a place holder right now for the explanation of any
  1075.           new congestion and output-q-length goop.
  1076.  
  1077.  
  1078.           3.2.9.  Trap Enable
  1079.  
  1080.           In the multi-layer interface model, each sub-layer for which
  1081.           there is an entry in the ifTable can generate linkUp/Down
  1082.           Traps.  Since interface state changes would tend to propagate
  1083.           through the interface (from top to bottom, or bottom to top),
  1084.           it is likely that several traps would be generated for each
  1085.           linkUp/Down occurrence.
  1086.  
  1087.           It is desirable to provide a mechanism for manager stations to
  1088.           control the generation of these traps.  To this end, the
  1089.           ifLinkUpDownTrapEnable object has been added.  This object
  1090.           allows managers to limit generation of traps to just the sub-
  1091.           layers of interest.
  1092.  
  1093.           The default setting should limit the number of traps generated
  1094.           to one per interface per linkUp/Down event.  Furthermore, it
  1095.           seems that the conditions that cause these state changes that
  1096.           are of most interest to network managers occur at the lowest
  1097.           level of an interface stack.  Therefore we specify that by
  1098.           default, only the lowest sub-layer of the interface generate
  1099.  
  1100.           traps.
  1101.  
  1102.  
  1103.           3.3.  Media-Specific MIB Applicability
  1104.  
  1105.           The exact use and semantics of many objects in this MIB are
  1106.           open to some interpretation.  This is a result of the generic
  1107.           nature of this MIB.  It is not always possible to come up with
  1108.           specific, unambiguous, text that covers all cases and yet
  1109.           preserve the generic nature of the MIB.
  1110.  
  1111.           Therefore, it is incumbent upon a media-specific MIB designer
  1112.           to, wherever necessary, clarify the use of the objects in this
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.           Expires 8 Feb 1994                                   [Page 19]
  1119.  
  1120.  
  1121.  
  1122.  
  1123.           Draft             Interfaces Group Evolution       August 1993
  1124.  
  1125.  
  1126.           MIB with respect to the media-specific MIB.
  1127.  
  1128.           Specific areas of clarification include
  1129.  
  1130.           Layering Model
  1131.                The media-specific MIB designer MUST completely and
  1132.                unambiguously specify the layering model used.  Each
  1133.                individual sub-layer must be identified.
  1134.  
  1135.           Virtual Circuits
  1136.                The media-specific MIB designer MUST specify whether
  1137.                virtual circuits are assigned entries in the ifTable or
  1138.                not.  If they are, compelling rationale must be
  1139.                presented.
  1140.  
  1141.           ifTestTable
  1142.                The media-specific MIB designer MUST specify the
  1143.                applicability of the ifTestTable.
  1144.  
  1145.           ifRcvAddressTable
  1146.                The media-specific MIB designer MUST specify the
  1147.                applicability of the ifRcvAddressTable.
  1148.  
  1149.           However, wherever this interface MIB is specific in the
  1150.           semantics, DESCRIPTION, or applicability of objects, the
  1151.           media-specific MIB designer MUST NOT change said semantics,
  1152.           DESCRIPTION, or applicability.
  1153.  
  1154.  
  1155.           4.  The Interface Test Table
  1156.  
  1157.  
  1158.           The interface test table in this MIB (ifTestTable) replaces
  1159.           the interface test table defined in RFC1229 [7].  The
  1160.           significant change made to the table was the replacement of
  1161.           the ifExtnsTestCommunity (and ifExtnsTestContext which would
  1162.           also have been required for SNMPv2) and ifExtnsTestRequestId
  1163.           objects, by the new ifTestId, ifTestStatus, and ifTestOwner
  1164.           objects.
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.           Expires 8 Feb 1994                                   [Page 20]
  1178.  
  1179.  
  1180.  
  1181.  
  1182.           Draft             Interfaces Group Evolution       August 1993
  1183.  
  1184.  
  1185.           5.  Definitions
  1186.  
  1187.           IF-MIB DEFINITIONS ::= BEGIN
  1188.  
  1189.           IMPORTS
  1190.               MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32,
  1191.               Integer32, TimeTicks, experimental       FROM SNMPv2-SMI
  1192.               DisplayString, PhysAddress, TruthValue,
  1193.               RowStatus, AutonomousType, TestAndIncr   FROM SNMPv2-TC
  1194.               MODULE-COMPLIANCE, OBJECT-GROUP          FROM SNMPv2-CONF
  1195.               interfaces                               FROM RFC-1213;
  1196.  
  1197.  
  1198.           ifMIB MODULE-IDENTITY
  1199.               LAST-UPDATED "9308082355Z"
  1200.               ORGANIZATION "IETF Interfaces MIB Working Group"
  1201.               CONTACT-INFO
  1202.                       "   Keith McCloghrie
  1203.                           Hughes LAN Systems
  1204.                           1225 Charleston Road
  1205.                           Mountain View, Ca. 94043
  1206.  
  1207.                           Tel: 415-966-7934
  1208.                           Fax: 415-966-7980
  1209.                           E-mail: kzm@hls.com."
  1210.               DESCRIPTION
  1211.                       "The MIB module to describe generic objects for
  1212.                       network interface sub-layers.  This MIB is an
  1213.                       updated version of MIB-II's ifTable, and
  1214.                       incorporates the extensions defined in RFC 1229."
  1215.  
  1216.               ::= { experimental xx }
  1217.  
  1218.           ifMIBObjects OBJECT IDENTIFIER ::= { ifMIB 1 }
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.           Expires 8 Feb 1994                                   [Page 21]
  1237.  
  1238.  
  1239.  
  1240.  
  1241.           Draft             Interfaces Group Evolution       August 1993
  1242.  
  1243.  
  1244.           -- OwnerString has the same semantics as used in RFC 1271
  1245.  
  1246.           OwnerString ::= TEXTUAL-CONVENTION
  1247.               DISPLAY-HINT "255a"
  1248.               STATUS       current
  1249.               DESCRIPTION
  1250.                       "This data type is used to model an
  1251.                       administratively assigned name of the owner of a
  1252.                       resource. This information is taken from the NVT
  1253.                       ASCII character set.  It is suggested that this
  1254.                       name contain one or more of the following: IP
  1255.                       address, management station name, network
  1256.                       manager's name, location, or phone number.  In
  1257.                       some cases the agent itself will be the owner of
  1258.                       an entry.  In these cases, this string shall be
  1259.                       set to a string starting with 'agent'."
  1260.               SYNTAX       OCTET STRING (SIZE(0..255))
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.           Expires 8 Feb 1994                                   [Page 22]
  1296.  
  1297.  
  1298.  
  1299.  
  1300.           Draft             Interfaces Group Evolution       August 1993
  1301.  
  1302.  
  1303.           ifNumber  OBJECT-TYPE
  1304.               SYNTAX      Integer32
  1305.               MAX-ACCESS  read-only
  1306.               STATUS      current
  1307.               DESCRIPTION
  1308.                       "The number of network interfaces (regardless of
  1309.                       their current state) present on this system."
  1310.               ::= { interfaces 1 }
  1311.  
  1312.  
  1313.           -- the Interfaces table
  1314.  
  1315.           -- The Interfaces table contains information on the entity's
  1316.           -- interfaces.  Each sub-layer below the internetwork-layer
  1317.           -- of a network interface is considered to be an interface.
  1318.  
  1319.           ifTable OBJECT-TYPE
  1320.               SYNTAX      SEQUENCE OF IfEntry
  1321.               MAX-ACCESS  not-accessible
  1322.               STATUS      current
  1323.               DESCRIPTION
  1324.                       "A list of interface entries.  The number of
  1325.                       entries is given by the value of ifNumber."
  1326.               ::= { interfaces 2 }
  1327.  
  1328.           ifEntry OBJECT-TYPE
  1329.               SYNTAX      IfEntry
  1330.               MAX-ACCESS  not-accessible
  1331.  
  1332.               STATUS      current
  1333.               DESCRIPTION
  1334.                       "An entry containing management information
  1335.                       applicable to a particular interface."
  1336.               INDEX   { ifIndex }
  1337.               ::= { ifTable 1 }
  1338.  
  1339.           IfEntry ::=
  1340.               SEQUENCE {
  1341.                   ifIndex                 Integer32,
  1342.                   ifDescr                 DisplayString,
  1343.                   ifType                  INTEGER,
  1344.                   ifMtu                   Integer32,
  1345.                   ifSpeed                 Gauge32,
  1346.                   ifPhysAddress           PhysAddress,
  1347.                   ifAdminStatus           INTEGER,
  1348.                   ifOperStatus            INTEGER,
  1349.  
  1350.  
  1351.  
  1352.  
  1353.  
  1354.           Expires 8 Feb 1994                                   [Page 23]
  1355.  
  1356.  
  1357.  
  1358.  
  1359.           Draft             Interfaces Group Evolution       August 1993
  1360.  
  1361.  
  1362.                   ifLastChange            TimeTicks,
  1363.                   ifInOctets              Counter32,
  1364.                   ifInUcastPkts           Counter32,
  1365.                   ifInNUcastPkts          Counter32,  -- deprecated
  1366.                   ifInDiscards            Counter32,
  1367.                   ifInErrors              Counter32,
  1368.                   ifInUnknownProtos       Counter32,
  1369.                   ifOutOctets             Counter32,
  1370.                   ifOutUcastPkts          Counter32,
  1371.                   ifOutNUcastPkts         Counter32,  -- deprecated
  1372.                   ifOutDiscards           Counter32,
  1373.                   ifOutErrors             Counter32,
  1374.                   ifOutQLen               Gauge32,    -- deprecated
  1375.                   ifSpecific              OBJECT IDENTIFIER
  1376.               }
  1377.  
  1378.  
  1379.           ifIndex OBJECT-TYPE
  1380.               SYNTAX      Integer32
  1381.               MAX-ACCESS  read-only
  1382.               STATUS      current
  1383.               DESCRIPTION
  1384.                       "A unique value, greater than zero, for each
  1385.                       interface.  It is recommended that values are
  1386.                       assigned contiguously starting from 1.  The value
  1387.                       for each interface sub-layer must remain constant
  1388.                       at least from one re-initialization of the
  1389.  
  1390.                       entity's network management system to the next
  1391.                       re-initialization."
  1392.               ::= { ifEntry 1 }
  1393.  
  1394.           ifDescr OBJECT-TYPE
  1395.               SYNTAX      DisplayString (SIZE (0..255))
  1396.               MAX-ACCESS  read-only
  1397.               STATUS      current
  1398.               DESCRIPTION
  1399.                       "A textual string containing information about the
  1400.                       interface.  This string should include the name of
  1401.                       the manufacturer, the product name and the version
  1402.                       of the interface hardware/software."
  1403.               ::= { ifEntry 2 }
  1404.  
  1405.           ifType OBJECT-TYPE
  1406.               SYNTAX  INTEGER {
  1407.                           other(1),          -- none of the following
  1408.  
  1409.  
  1410.  
  1411.  
  1412.  
  1413.           Expires 8 Feb 1994                                   [Page 24]
  1414.  
  1415.  
  1416.  
  1417.  
  1418.           Draft             Interfaces Group Evolution       August 1993
  1419.  
  1420.  
  1421.                           regular1822(2),
  1422.                           hdh1822(3),
  1423.                           ddn-x25(4),
  1424.                           rfc877-x25(5),
  1425.                           ethernet-csmacd(6),
  1426.                           iso88023-csmacd(7),
  1427.                           iso88024-tokenBus(8),
  1428.                           iso88025-tokenRing(9),
  1429.                           iso88026-man(10),
  1430.                           starLan(11),
  1431.                           proteon-10Mbit(12),
  1432.                           proteon-80Mbit(13),
  1433.                           hyperchannel(14),
  1434.                           fddi(15),
  1435.                           lapb(16),
  1436.                           sdlc(17),
  1437.                           ds1(18),           -- T-1
  1438.                           e1(19),            -- european equiv. of T-1
  1439.                           basicISDN(20),
  1440.                           primaryISDN(21),   -- proprietary serial
  1441.                           propPointToPointSerial(22),
  1442.                           ppp(23),
  1443.                           softwareLoopback(24),
  1444.                           eon(25),            -- CLNP over IP (RFC 1070)
  1445.                           ethernet-3Mbit(26),
  1446.                           nsip(27),           -- XNS over IP
  1447.  
  1448.                           slip(28),           -- generic SLIP
  1449.                           ultra(29),          -- ULTRA technologies
  1450.                           ds3(30),            -- T-3
  1451.                           sip(31),            -- SMDS
  1452.                           frame-relay(32),
  1453.                           rs232(33),
  1454.                           para(34),           -- parallel-port
  1455.                           atm(35),            -- ATM cells
  1456.                           sonet(36),
  1457.                           x25ple(37),
  1458.                           miox25(38),
  1459.                           iso88022llc(39)
  1460.                       }
  1461.               MAX-ACCESS  read-only
  1462.               STATUS      current
  1463.               DESCRIPTION
  1464.                       "The type of interface."
  1465.               ::= { ifEntry 3 }
  1466.  
  1467.  
  1468.  
  1469.  
  1470.  
  1471.  
  1472.           Expires 8 Feb 1994                                   [Page 25]
  1473.  
  1474.  
  1475.  
  1476.  
  1477.           Draft             Interfaces Group Evolution       August 1993
  1478.  
  1479.  
  1480.           ifMtu OBJECT-TYPE
  1481.               SYNTAX      Integer32
  1482.               MAX-ACCESS  read-only
  1483.               STATUS      current
  1484.               DESCRIPTION
  1485.                       "The size of the largest packet which can be
  1486.                       sent/received on the interface, specified in
  1487.                       octets.  For interfaces that are used for
  1488.                       transmitting network datagrams, this is the size
  1489.                       of the largest network datagram that can be sent
  1490.                       on the interface."
  1491.               ::= { ifEntry 4 }
  1492.  
  1493.           ifSpeed OBJECT-TYPE
  1494.               SYNTAX      Gauge32
  1495.               MAX-ACCESS  read-only
  1496.               STATUS      current
  1497.               DESCRIPTION
  1498.                       "An estimate of the interface's current bandwidth
  1499.                       in bits per second.  For interfaces which do not
  1500.                       vary in bandwidth or for those where no accurate
  1501.                       estimation can be made, this object should contain
  1502.                       the nominal bandwidth.  If the bandwidth of the
  1503.                       interface is greater than the maximum value
  1504.                       reportable by this object then this object should
  1505.  
  1506.                       report its maximum value (2,147,483,647) and
  1507.                       ifHighSpeed must be used to report the interace's
  1508.                       speed.  For a sub-layer which has no concept of
  1509.                       bandwidth, this object should be zero."
  1510.               ::= { ifEntry 5 }
  1511.  
  1512.           ifPhysAddress OBJECT-TYPE
  1513.               SYNTAX      PhysAddress
  1514.               MAX-ACCESS  read-only
  1515.               STATUS      current
  1516.               DESCRIPTION
  1517.                       "The interface's address at its protocol sub-
  1518.                       layer.  The interface's media-specific MIB must
  1519.                       define the bit and byte ordering and format of the
  1520.                       value contained by this object.  For interfaces
  1521.                       which do not have such an address (e.g., a serial
  1522.                       line), this object should contain an octet string
  1523.                       of zero length."
  1524.               ::= { ifEntry 6 }
  1525.  
  1526.  
  1527.  
  1528.  
  1529.  
  1530.  
  1531.           Expires 8 Feb 1994                                   [Page 26]
  1532.  
  1533.  
  1534.  
  1535.  
  1536.           Draft             Interfaces Group Evolution       August 1993
  1537.  
  1538.  
  1539.           ifAdminStatus OBJECT-TYPE
  1540.               SYNTAX  INTEGER {
  1541.                           up(1),       -- ready to pass packets
  1542.                           down(2),
  1543.                           testing(3)   -- in some test mode
  1544.                       }
  1545.               MAX-ACCESS  read-write
  1546.               STATUS      current
  1547.               DESCRIPTION
  1548.                       "The desired state of the interface.  The
  1549.                       testing(3) state indicates that no operational
  1550.                       packets can be passed."
  1551.               ::= { ifEntry 7 }
  1552.  
  1553.           ifOperStatus OBJECT-TYPE
  1554.               SYNTAX  INTEGER {
  1555.                           up(1),       -- ready to pass packets
  1556.                           down(2),
  1557.                           testing(3)   -- in some test mode
  1558.                       }
  1559.               MAX-ACCESS  read-only
  1560.               STATUS      current
  1561.               DESCRIPTION
  1562.                       "The current operational state of the interface.
  1563.  
  1564.                       The testing(3) state indicates that no operational
  1565.                       packets can be passed."
  1566.               ::= { ifEntry 8 }
  1567.  
  1568.           ifLastChange OBJECT-TYPE
  1569.               SYNTAX      TimeTicks
  1570.               MAX-ACCESS  read-only
  1571.               STATUS      current
  1572.               DESCRIPTION
  1573.                       "The value of sysUpTime at the time the interface
  1574.                       entered its current operational state.  If the
  1575.                       current state was entered prior to the last re-
  1576.                       initialization of the local network management
  1577.                       subsystem, then this object contains a zero
  1578.                       value."
  1579.               ::= { ifEntry 9 }
  1580.  
  1581.           ifInOctets OBJECT-TYPE
  1582.               SYNTAX      Counter32
  1583.               MAX-ACCESS  read-only
  1584.               STATUS      current
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590.           Expires 8 Feb 1994                                   [Page 27]
  1591.  
  1592.  
  1593.  
  1594.  
  1595.           Draft             Interfaces Group Evolution       August 1993
  1596.  
  1597.  
  1598.               DESCRIPTION
  1599.                       "The total number of octets received on the
  1600.                       interface, including framing characters."
  1601.               ::= { ifEntry 10 }
  1602.  
  1603.           ifInUcastPkts OBJECT-TYPE
  1604.               SYNTAX      Counter32
  1605.               MAX-ACCESS  read-only
  1606.               STATUS      current
  1607.               DESCRIPTION
  1608.                       "The number of packets, delivered by this sub-
  1609.                       layer to a higher (sub-)layer, which were not
  1610.                       addressed to a multicast or broadcast address at
  1611.                       this sub-layer."
  1612.               ::= { ifEntry 11 }
  1613.  
  1614.           ifInNUcastPkts OBJECT-TYPE
  1615.               SYNTAX  Counter32
  1616.               MAX-ACCESS  read-only
  1617.               STATUS      deprecated
  1618.               DESCRIPTION
  1619.                       "The number of packets, delivered by this sub-
  1620.                       layer to a higher (sub-)layer, which were
  1621.  
  1622.                       addressed to a multicast or broadcast address at
  1623.                       this sub-layer.
  1624.  
  1625.                       This object is deprecated in favour of
  1626.                       ifInMulticastPkts and ifInBroadcastPkts."
  1627.               ::= { ifEntry 12 }
  1628.  
  1629.           ifInDiscards OBJECT-TYPE
  1630.               SYNTAX      Counter32
  1631.               MAX-ACCESS  read-only
  1632.               STATUS      current
  1633.               DESCRIPTION
  1634.                       "The number of inbound packets which were chosen
  1635.                       to be discarded even though no errors had been
  1636.                       detected to prevent their being deliverable to a
  1637.                       higher-layer protocol.  One possible reason for
  1638.                       discarding such a packet could be to free up
  1639.                       buffer space."
  1640.               ::= { ifEntry 13 }
  1641.  
  1642.           ifInErrors OBJECT-TYPE
  1643.               SYNTAX      Counter32
  1644.  
  1645.  
  1646.  
  1647.  
  1648.  
  1649.           Expires 8 Feb 1994                                   [Page 28]
  1650.  
  1651.  
  1652.  
  1653.  
  1654.           Draft             Interfaces Group Evolution       August 1993
  1655.  
  1656.  
  1657.               MAX-ACCESS  read-only
  1658.               STATUS      current
  1659.               DESCRIPTION
  1660.                       "The number of inbound packets that contained
  1661.                       errors preventing them from being deliverable to a
  1662.                       higher-layer protocol."
  1663.               ::= { ifEntry 14 }
  1664.  
  1665.           ifInUnknownProtos OBJECT-TYPE
  1666.               SYNTAX      Counter32
  1667.               MAX-ACCESS  read-only
  1668.               STATUS      current
  1669.               DESCRIPTION
  1670.                       "The number of packets received via the interface
  1671.                       which were discarded because of an unknown or
  1672.                       unsupported protocol."
  1673.               ::= { ifEntry 15 }
  1674.  
  1675.           ifOutOctets OBJECT-TYPE
  1676.               SYNTAX      Counter32
  1677.               MAX-ACCESS  read-only
  1678.               STATUS      current
  1679.  
  1680.               DESCRIPTION
  1681.                       "The total number of octets transmitted out of the
  1682.                       interface, including framing characters."
  1683.               ::= { ifEntry 16 }
  1684.  
  1685.           ifOutUcastPkts OBJECT-TYPE
  1686.               SYNTAX      Counter32
  1687.               MAX-ACCESS  read-only
  1688.               STATUS      current
  1689.               DESCRIPTION
  1690.                       "The total number of packets that higher-level
  1691.                       protocols requested be transmitted, and which were
  1692.                       not addressed to a multicast or broadcast address
  1693.                       at this sub-layer, including those that were
  1694.                       discarded or not sent."
  1695.               ::= { ifEntry 17 }
  1696.  
  1697.           ifOutNUcastPkts OBJECT-TYPE
  1698.               SYNTAX      Counter32
  1699.               MAX-ACCESS  read-only
  1700.               STATUS      deprecated
  1701.               DESCRIPTION
  1702.                       "The total number of packets that higher-level
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.           Expires 8 Feb 1994                                   [Page 29]
  1709.  
  1710.  
  1711.  
  1712.  
  1713.           Draft             Interfaces Group Evolution       August 1993
  1714.  
  1715.  
  1716.                       protocols requested be transmitted, and which were
  1717.                       addressed to a multicast or broadcast address at
  1718.                       this sub-layer, including those that were
  1719.                       discarded or not sent.
  1720.  
  1721.                       This object is deprecated in favour of
  1722.                       ifOutMulticastPkts and ifOutBroadcastPkts."
  1723.               ::= { ifEntry 18 }
  1724.  
  1725.           ifOutDiscards OBJECT-TYPE
  1726.               SYNTAX      Counter32
  1727.               MAX-ACCESS  read-only
  1728.               STATUS      current
  1729.               DESCRIPTION
  1730.                       "The number of outbound packets which were chosen
  1731.                       to be discarded even though no errors had been
  1732.                       detected to prevent their being transmitted.  One
  1733.                       possible reason for discarding such a packet could
  1734.                       be to free up buffer space."
  1735.               ::= { ifEntry 19 }
  1736.  
  1737.  
  1738.           ifOutErrors OBJECT-TYPE
  1739.               SYNTAX      Counter32
  1740.               MAX-ACCESS  read-only
  1741.               STATUS      current
  1742.               DESCRIPTION
  1743.                       "The number of outbound packets that could not be
  1744.                       transmitted because of errors."
  1745.               ::= { ifEntry 20 }
  1746.  
  1747.           ifOutQLen OBJECT-TYPE
  1748.               SYNTAX      Gauge32
  1749.               MAX-ACCESS  read-only
  1750.               STATUS      deprecated
  1751.               DESCRIPTION
  1752.                       "The length of the output packet queue (in
  1753.                       packets)."
  1754.               ::= { ifEntry 21 }
  1755.  
  1756.           ifSpecific OBJECT-TYPE
  1757.               SYNTAX      OBJECT IDENTIFIER
  1758.               MAX-ACCESS  read-only
  1759.               STATUS      current
  1760.               DESCRIPTION
  1761.                       "A reference to MIB definitions specific to the
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.           Expires 8 Feb 1994                                   [Page 30]
  1768.  
  1769.  
  1770.  
  1771.  
  1772.           Draft             Interfaces Group Evolution       August 1993
  1773.  
  1774.  
  1775.                       particular media being used to realize the
  1776.                       interface.  It is recommended that this value
  1777.                       point to an instance of a MIB object in the
  1778.                       media-specific MIB, i.e., that this object have
  1779.                       the semantics associated with the InstancePointer
  1780.                       textual convention defined in RFC 1443.  If no MIB
  1781.                       definitions specific to the particular media are
  1782.                       available, the value should be set to the OBJECT
  1783.                       IDENTIFIER { 0 0 }."
  1784.               ::= { ifEntry 22 }
  1785.  
  1786.  
  1787.  
  1788.           --
  1789.           --   Extension to the interface table
  1790.           --
  1791.           -- This table replaces the ifExtnsTable table.
  1792.           --
  1793.  
  1794.           ifXTable        OBJECT-TYPE
  1795.  
  1796.               SYNTAX      SEQUENCE OF IfXEntry
  1797.               MAX-ACCESS  not-accessible
  1798.               STATUS      current
  1799.               DESCRIPTION
  1800.                       "A list of interface entries.  The number of
  1801.                       entries is given by the value of ifNumber.  This
  1802.                       table contains additional objects for the
  1803.                       interface table."
  1804.               ::= { ifMIBObjects 1 }
  1805.  
  1806.           ifXEntry        OBJECT-TYPE
  1807.               SYNTAX      IfXEntry
  1808.               MAX-ACCESS  not-accessible
  1809.               STATUS      current
  1810.               DESCRIPTION
  1811.                       "An entry containing additional management
  1812.                       information applicable to a particular interface."
  1813.               AUGMENTS    { ifEntry }
  1814.               ::= { ifXTable 1 }
  1815.  
  1816.           IfXEntry ::=
  1817.               SEQUENCE {
  1818.                   ifName                  DisplayString,
  1819.                   ifInMulticastPkts       Counter32,
  1820.                   ifInBroadcastPkts       Counter32,
  1821.  
  1822.  
  1823.  
  1824.  
  1825.  
  1826.           Expires 8 Feb 1994                                   [Page 31]
  1827.  
  1828.  
  1829.  
  1830.  
  1831.           Draft             Interfaces Group Evolution       August 1993
  1832.  
  1833.  
  1834.                   ifOutMulticastPkts      Counter32,
  1835.                   ifOutBroadcastPkts      Counter32,
  1836.                   ifHCInOctets            Counter64,
  1837.                   ifHCInUcastPkts         Counter64,
  1838.                   ifHCInMulticastPkts     Counter64,
  1839.                   ifHCInBroadcastPkts     Counter64,
  1840.                   ifHCOutOctets           Counter64,
  1841.                   ifHCOutUcastPkts        Counter64,
  1842.                   ifHCOutMulticastPkts    Counter64,
  1843.                   ifHCOutBroadcastPkts    Counter64,
  1844.                   ifLinkUpDownTrapEnable  INTEGER,
  1845.                   ifHighSpeed             Gauge32,
  1846.                   ifPromiscuousMode       TruthValue
  1847.               }
  1848.  
  1849.  
  1850.           ifName OBJECT-TYPE
  1851.               SYNTAX      DisplayString
  1852.               MAX-ACCESS  read-only
  1853.  
  1854.               STATUS      current
  1855.               DESCRIPTION
  1856.                       "The textual name of the interface.  The value of
  1857.                       this object should be the name of the interface as
  1858.                       assigned by the local device and should be
  1859.                       suitable for use in commands entered at the
  1860.                       device's `console'.  This might be a text name,
  1861.                       such as `le0' or a simple port number, such as
  1862.                       `1', depending on the interface naming syntax of
  1863.                       the device.  If several entries in the ifTable
  1864.                       together represent a single interface as named by
  1865.                       the device, then each will have the same value of
  1866.                       ifName.  If there is no local name, or this object
  1867.                       is otherwise not applicable, then this object
  1868.                       contains a 0-length string."
  1869.               ::= { ifXEntry 1 }
  1870.  
  1871.           ifInMulticastPkts OBJECT-TYPE
  1872.               SYNTAX      Counter32
  1873.               MAX-ACCESS  read-only
  1874.               STATUS      current
  1875.               DESCRIPTION
  1876.                       "The number of packets, delivered by this sub-
  1877.                       layer to a higher (sub-)layer, which were
  1878.                       addressed to a multicast address at this sub-
  1879.                       layer.  For a MAC layer protocol, this includes
  1880.  
  1881.  
  1882.  
  1883.  
  1884.  
  1885.           Expires 8 Feb 1994                                   [Page 32]
  1886.  
  1887.  
  1888.  
  1889.  
  1890.           Draft             Interfaces Group Evolution       August 1993
  1891.  
  1892.  
  1893.                       both Group and Functional addresses."
  1894.               ::= { ifXEntry 2 }
  1895.  
  1896.           ifInBroadcastPkts OBJECT-TYPE
  1897.               SYNTAX      Counter32
  1898.               MAX-ACCESS  read-only
  1899.               STATUS      current
  1900.               DESCRIPTION
  1901.                       "The number of packets, delivered by this sub-
  1902.                       layer to a higher (sub-)layer, which were
  1903.                       addressed to a broadcast address at this sub-
  1904.                       layer."
  1905.               ::= { ifXEntry 3 }
  1906.  
  1907.           ifOutMulticastPkts OBJECT-TYPE
  1908.               SYNTAX      Counter32
  1909.               MAX-ACCESS  read-only
  1910.               STATUS      current
  1911.  
  1912.               DESCRIPTION
  1913.                       "The total number of packets that higher-level
  1914.                       protocols requested be transmitted, and which were
  1915.                       addressed to a multicast address at this sub-
  1916.                       layer, including those that were discarded or not
  1917.                       sent.  For a MAC layer protocol, this includes
  1918.                       both Group and Functional addresses."
  1919.               ::= { ifXEntry 4 }
  1920.  
  1921.           ifOutBroadcastPkts OBJECT-TYPE
  1922.               SYNTAX      Counter32
  1923.               MAX-ACCESS  read-only
  1924.               STATUS      current
  1925.               DESCRIPTION
  1926.                       "The total number of packets that higher-level
  1927.                       protocols requested be transmitted, and which were
  1928.                       addressed to a broadcast address at this sub-
  1929.                       layer, including those that were discarded or not
  1930.                       sent."
  1931.               ::= { ifXEntry 5 }
  1932.  
  1933.           --
  1934.           -- High Capacity Counter objects.  These objects are all
  1935.           -- 64 bit versions of the "basic" ifTable counters.  These
  1936.           -- objects all have the same basic semantics as their 32-bit
  1937.           -- counterparts, however, their syntax has been extended
  1938.           -- to 64 bits.
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.           Expires 8 Feb 1994                                   [Page 33]
  1945.  
  1946.  
  1947.  
  1948.  
  1949.           Draft             Interfaces Group Evolution       August 1993
  1950.  
  1951.  
  1952.           --
  1953.  
  1954.           ifHCInOctets OBJECT-TYPE
  1955.               SYNTAX      Counter64
  1956.               MAX-ACCESS  read-only
  1957.               STATUS      current
  1958.               DESCRIPTION
  1959.                       "The total number of octets received on the
  1960.                       interface, including framing characters.  This
  1961.                       object is a 64-bit version of ifInOctets."
  1962.               ::= { ifXEntry 6 }
  1963.  
  1964.           ifHCInUcastPkts OBJECT-TYPE
  1965.               SYNTAX      Counter64
  1966.               MAX-ACCESS  read-only
  1967.               STATUS      current
  1968.               DESCRIPTION
  1969.  
  1970.                       "The number of packets, delivered by this sub-
  1971.                       layer to a higher (sub-)layer, which were not
  1972.                       addressed to a multicast or broadcast address at
  1973.                       this sub-layer.  This object is a 64-bit version
  1974.                       of ifInUcastPkts."
  1975.               ::= { ifXEntry 7 }
  1976.  
  1977.           ifHCInMulticastPkts OBJECT-TYPE
  1978.               SYNTAX      Counter64
  1979.               MAX-ACCESS  read-only
  1980.               STATUS      current
  1981.               DESCRIPTION
  1982.                       "The number of packets, delivered by this sub-
  1983.                       layer to a higher (sub-)layer, which were
  1984.                       addressed to a multicast address at this sub-
  1985.                       layer.  For a MAC layer protocol, this includes
  1986.                       both Group and Functional addresses.  This object
  1987.                       is a 64-bit version of ifInMulticastPkts."
  1988.               ::= { ifXEntry 8 }
  1989.  
  1990.           ifHCInBroadcastPkts OBJECT-TYPE
  1991.               SYNTAX      Counter64
  1992.               MAX-ACCESS  read-only
  1993.               STATUS      current
  1994.               DESCRIPTION
  1995.                       "The number of packets, delivered by this sub-
  1996.                       layer to a higher (sub-)layer, which were
  1997.                       addressed to a broadcast address at this sub-
  1998.  
  1999.  
  2000.  
  2001.  
  2002.  
  2003.           Expires 8 Feb 1994                                   [Page 34]
  2004.  
  2005.  
  2006.  
  2007.  
  2008.           Draft             Interfaces Group Evolution       August 1993
  2009.  
  2010.  
  2011.                       layer.  This object is a 64-bit version of
  2012.                       ifInBroadcastPkts."
  2013.               ::= { ifXEntry 9 }
  2014.  
  2015.           ifHCOutOctets OBJECT-TYPE
  2016.               SYNTAX      Counter64
  2017.               MAX-ACCESS  read-only
  2018.               STATUS      current
  2019.               DESCRIPTION
  2020.                       "The total number of octets transmitted out of the
  2021.                       interface, including framing characters.  This
  2022.                       object is a 64-bit version of ifOutOctets."
  2023.               ::= { ifXEntry 10 }
  2024.  
  2025.           ifHCOutUcastPkts OBJECT-TYPE
  2026.               SYNTAX      Counter64
  2027.  
  2028.               MAX-ACCESS  read-only
  2029.               STATUS      current
  2030.               DESCRIPTION
  2031.                       "The total number of packets that higher-level
  2032.                       protocols requested be transmitted, and which were
  2033.                       not addressed to a multicast or broadcast address
  2034.                       at this sub-layer, including those that were
  2035.                       discarded or not sent.  This object is a 64-bit
  2036.                       version of ifOutUcastPkts."
  2037.               ::= { ifXEntry 11 }
  2038.  
  2039.           ifHCOutMulticastPkts OBJECT-TYPE
  2040.               SYNTAX      Counter64
  2041.               MAX-ACCESS  read-only
  2042.               STATUS      current
  2043.               DESCRIPTION
  2044.                       "The total number of packets that higher-level
  2045.                       protocols requested be transmitted, and which were
  2046.                       addressed to a multicast address at this sub-
  2047.                       layer, including those that were discarded or not
  2048.                       sent.  For a MAC layer protocol, this includes
  2049.                       both Group and Functional addresses.  This object
  2050.                       is a 64-bit version of ifOutMulticastPkts."
  2051.               ::= { ifXEntry 12 }
  2052.  
  2053.           ifHCOutBroadcastPkts OBJECT-TYPE
  2054.               SYNTAX      Counter64
  2055.               MAX-ACCESS  read-only
  2056.               STATUS      current
  2057.  
  2058.  
  2059.  
  2060.  
  2061.  
  2062.           Expires 8 Feb 1994                                   [Page 35]
  2063.  
  2064.  
  2065.  
  2066.  
  2067.           Draft             Interfaces Group Evolution       August 1993
  2068.  
  2069.  
  2070.               DESCRIPTION
  2071.                       "The total number of packets that higher-level
  2072.                       protocols requested be transmitted, and which were
  2073.                       addressed to a broadcast address at this sub-
  2074.                       layer, including those that were discarded or not
  2075.                       sent.  This object is a 64-bit version of
  2076.                       ifOutBroadcastPkts."
  2077.               ::= { ifXEntry 13 }
  2078.  
  2079.           ifLinkUpDownTrapEnable  OBJECT-TYPE
  2080.               SYNTAX      INTEGER { enabled(1), disabled(2) }
  2081.               MAX-ACCESS  read-write
  2082.               STATUS      current
  2083.               DESCRIPTION
  2084.                       "Indicates whether linkUp/linkDown traps should be
  2085.  
  2086.                       generated for this interface.
  2087.  
  2088.                       By default, this object should have the value
  2089.                       enabled(1) for interfaces which do not operate on
  2090.                       'top' of any other interface (as defined in the
  2091.                       ifStackTable), and disabled(2) otherwise."
  2092.               ::= { ifXEntry 14 }
  2093.  
  2094.           ifHighSpeed OBJECT-TYPE
  2095.               SYNTAX      Gauge32
  2096.               MAX-ACCESS  read-only
  2097.               STATUS      current
  2098.               DESCRIPTION
  2099.                       "An estimate of the interface's current bandwidth
  2100.                       in units of 1,000,000 bits per second.  If this
  2101.                       object reports a value of `n' then the speed of
  2102.                       the interface is somewhere in the range of `n-
  2103.                       500,000' to `n+499,999'.  For interfaces which do
  2104.                       not vary in bandwidth or for those where no
  2105.                       accurate estimation can be made, this object
  2106.                       should contain the nominal bandwidth.  For a sub-
  2107.                       layer which has no concept of bandwidth, this
  2108.                       object should be zero."
  2109.               ::= { ifXEntry 15 }
  2110.  
  2111.           ifPromiscuousMode  OBJECT-TYPE
  2112.               SYNTAX      TruthValue
  2113.               MAX-ACCESS  read-write
  2114.               STATUS      current
  2115.               DESCRIPTION
  2116.  
  2117.  
  2118.  
  2119.  
  2120.  
  2121.           Expires 8 Feb 1994                                   [Page 36]
  2122.  
  2123.  
  2124.  
  2125.  
  2126.           Draft             Interfaces Group Evolution       August 1993
  2127.  
  2128.  
  2129.                       "This object has a value of false(2) if this
  2130.                       interface only accepts packets/frames that are
  2131.                       addressed to this station.  This object has a
  2132.                       value of true(1) when the station accepts all
  2133.                       packets/frames transmitted on the media.  The
  2134.                       value true(1) is only legal on certain types of
  2135.                       media.  If legal, setting this object to a value
  2136.                       of true(1) may require the interface to be reset
  2137.                       before becoming effective.
  2138.  
  2139.                       The value of ifPromiscuous does not affect the
  2140.                       reception of broadcast and multicast
  2141.                       packets/frames by the interface."
  2142.               ::= { ifXEntry 16 }
  2143.  
  2144.  
  2145.  
  2146.  
  2147.  
  2148.  
  2149.  
  2150.  
  2151.  
  2152.  
  2153.  
  2154.  
  2155.  
  2156.  
  2157.  
  2158.  
  2159.  
  2160.  
  2161.  
  2162.  
  2163.  
  2164.  
  2165.  
  2166.  
  2167.  
  2168.  
  2169.  
  2170.  
  2171.  
  2172.  
  2173.  
  2174.  
  2175.  
  2176.  
  2177.  
  2178.  
  2179.  
  2180.           Expires 8 Feb 1994                                   [Page 37]
  2181.  
  2182.  
  2183.  
  2184.  
  2185.           Draft             Interfaces Group Evolution       August 1993
  2186.  
  2187.  
  2188.           --           The Interface Stack Group
  2189.           --
  2190.           -- Implementation of this group is mandatory for all systems
  2191.           --
  2192.  
  2193.           ifStackTable  OBJECT-TYPE
  2194.                SYNTAX        SEQUENCE OF IfStackEntry
  2195.                MAX-ACCESS    not-accessible
  2196.                STATUS        current
  2197.                DESCRIPTION
  2198.                       "The table containing information on the
  2199.                       relationships between the multiple sub-layers of
  2200.                       network interfaces.  In particular, it contains
  2201.  
  2202.                       information on which sub-layers run 'on top of'
  2203.                       which other sub-layers.  Each sub-layer
  2204.                       corresponds to a conceptual row in the ifTable."
  2205.                ::= { ifMIBObjects 2 }
  2206.  
  2207.  
  2208.           ifStackEntry  OBJECT-TYPE
  2209.                SYNTAX        IfStackEntry
  2210.                MAX-ACCESS    not-accessible
  2211.                STATUS        current
  2212.                DESCRIPTION
  2213.                       "Information on a particular relationship between
  2214.                       two sub-layers, specifying that one sub-layer runs
  2215.                       on 'top' of the other sub-layer.  Each sub-layer
  2216.                       corresponds to a conceptual row in the ifTable."
  2217.                INDEX { ifStackHigherLayer, ifStackLowerLayer }
  2218.                ::= { ifStackTable 1 }
  2219.  
  2220.  
  2221.           IfStackEntry ::=
  2222.               SEQUENCE {
  2223.                   ifStackHigherLayer  Integer32,
  2224.                   ifStackLowerLayer   Integer32,
  2225.                   ifStackStatus       RowStatus
  2226.                }
  2227.  
  2228.  
  2229.           ifStackHigherLayer  OBJECT-TYPE
  2230.                SYNTAX        Integer32
  2231.                MAX-ACCESS    not-accessible
  2232.                STATUS        current
  2233.                DESCRIPTION
  2234.  
  2235.  
  2236.  
  2237.  
  2238.  
  2239.           Expires 8 Feb 1994                                   [Page 38]
  2240.  
  2241.  
  2242.  
  2243.  
  2244.           Draft             Interfaces Group Evolution       August 1993
  2245.  
  2246.  
  2247.                       "The value of ifIndex corresponding to the higher
  2248.                       sub-layer of the relationship, i.e., the sub-layer
  2249.                       which runs on 'top' of the sub-layer identified by
  2250.                       the corresponding instance of ifStackLowerLayer.
  2251.                       If there is no higher sub-layer (below the
  2252.                       internetwork layer), then this object has the
  2253.                       value 0."
  2254.                ::= { ifStackEntry 1 }
  2255.  
  2256.  
  2257.           ifStackLowerLayer  OBJECT-TYPE
  2258.                SYNTAX        Integer32
  2259.  
  2260.                MAX-ACCESS    not-accessible
  2261.                STATUS        current
  2262.                DESCRIPTION
  2263.                       "The value of ifIndex corresponding to the lower
  2264.                       sub-layer of the relationship, i.e., the sub-layer
  2265.                       which runs 'below' the sub-layer identified by the
  2266.                       corresponding instance of ifStackHigherLayer.  If
  2267.                       there is no lower sub-layer, then this object has
  2268.                       the value 0."
  2269.                ::= { ifStackEntry 2 }
  2270.  
  2271.  
  2272.           ifStackStatus  OBJECT-TYPE
  2273.               SYNTAX         RowStatus
  2274.               MAX-ACCESS     read-write
  2275.               STATUS         current
  2276.               DESCRIPTION
  2277.                       "The status of the relationship between two sub-
  2278.                       layers.
  2279.  
  2280.                       Changing the value of this object from 'active' to
  2281.                       'notInService' or 'destroy' will likely have
  2282.                       consequences up and down the interface stack.
  2283.                       Thus, write access to this object is likely to be
  2284.                       inappropriate for some types of interfaces, and
  2285.                       many implementations will choose not to support
  2286.                       write-access for any type of interface."
  2287.               ::= { ifStackEntry 3 }
  2288.  
  2289.  
  2290.  
  2291.  
  2292.  
  2293.  
  2294.  
  2295.  
  2296.  
  2297.  
  2298.           Expires 8 Feb 1994                                   [Page 39]
  2299.  
  2300.  
  2301.  
  2302.  
  2303.           Draft             Interfaces Group Evolution       August 1993
  2304.  
  2305.  
  2306.           --
  2307.           --    The Interface Test Table
  2308.           --
  2309.           -- This group of objects is optional.  However, a media-specific
  2310.           -- MIB may make implementation of this group mandatory.
  2311.           --
  2312.           -- This table replaces the ifExtnsTestTable
  2313.           --
  2314.  
  2315.           ifTestTable   OBJECT-TYPE
  2316.               SYNTAX      SEQUENCE OF IfTestEntry
  2317.  
  2318.               MAX-ACCESS  not-accessible
  2319.               STATUS      current
  2320.               DESCRIPTION
  2321.                       "This table contains one entry per interface. It
  2322.                       defines objects which allow a network manager to
  2323.                       instruct an agent to test an interface for various
  2324.                       faults.  Tests for an interface are defined in the
  2325.                       media-specific MIB for that interface.  After
  2326.                       invoking a test, the object ifTestResult can be
  2327.                       read to determine the outcome.  If an agent can
  2328.                       not perform the test, ifTestResult is set to so
  2329.                       indicate.  The object ifTestCode can be used to
  2330.                       provide further test-specific or interface-
  2331.                       specific (or even enterprise-specific) information
  2332.                       concerning the outcome of the test.  Only one test
  2333.                       can be in progress on each interface at any one
  2334.                       time.  If one test is in progress when another
  2335.                       test is invoked, the second test is rejected.
  2336.                       Some agents may reject a test when a prior test is
  2337.                       active on another interface.
  2338.  
  2339.                       Before starting a test, a manager-station must
  2340.                       first obtain 'ownership' of the entry in the
  2341.                       ifTestTable for the interface to be tested.  This
  2342.                       is accomplished with the ifTestId and ifTestStatus
  2343.                       objects as follows:
  2344.  
  2345.                    try_again:
  2346.                        get (ifTestId, ifTestStatus)
  2347.                        while (ifTestStatus != notInUse)
  2348.                            /*
  2349.                             * Loop while a test is running or some other
  2350.                             * manager is configuring a test.
  2351.                             */
  2352.  
  2353.  
  2354.  
  2355.  
  2356.  
  2357.           Expires 8 Feb 1994                                   [Page 40]
  2358.  
  2359.  
  2360.  
  2361.  
  2362.           Draft             Interfaces Group Evolution       August 1993
  2363.  
  2364.  
  2365.                            short delay
  2366.                            get (ifTestId, ifTestStatus)
  2367.                        }
  2368.  
  2369.                        /*
  2370.                         * Is not being used right now -- let's compete
  2371.                         * to see who gets it.
  2372.                         */
  2373.                        lock_value = ifTestId
  2374.  
  2375.  
  2376.                        if ( set(ifTestId = lock_value, ifTestStatus = inUse,
  2377.                                 ifTestOwner = 'my-IP-address') == FAILURE)
  2378.                            /*
  2379.                             * Another manager got the ifTestEntry -- go
  2380.                             * try again
  2381.                             */
  2382.                            goto try_again;
  2383.  
  2384.                        /*
  2385.                         * I have the lock
  2386.                         */
  2387.                        set up any test parameters.
  2388.  
  2389.                        /*
  2390.                         * This starts the test
  2391.                         */
  2392.                        set(ifTestType = test_to_run);
  2393.  
  2394.                        wait for test completion by polling ifTestResult
  2395.  
  2396.                        when test completes, agent sets ifTestResult
  2397.                             agent also sets ifTestStatus = 'notInUse'
  2398.  
  2399.                        retrieve any additional test results, and ifTestId
  2400.  
  2401.                        if (ifTestId == lock_value+1) results are valid
  2402.  
  2403.                      A manager station first retrieves the value of the
  2404.                      appropriate ifTestId and ifTestStatus objects,
  2405.                      periodically repeating the retrieval if necessary,
  2406.                      until the value of ifTestStatus is 'notInUse'.  The
  2407.                      manager station then tries to set the same ifTestId
  2408.                      object to the value it just retrieved, the same
  2409.                      ifTestStatus object to 'inUse', and the
  2410.                      corresponding ifTestOwner object to a value
  2411.  
  2412.  
  2413.  
  2414.  
  2415.  
  2416.           Expires 8 Feb 1994                                   [Page 41]
  2417.  
  2418.  
  2419.  
  2420.  
  2421.           Draft             Interfaces Group Evolution       August 1993
  2422.  
  2423.  
  2424.                      indicating itself.  If the set operation succeeds
  2425.                      then the manager has obtained ownership of the
  2426.                      ifTestEntry, and the value of the ifTestId object
  2427.                      is incremented by the agent (per the semantics of
  2428.                      TestAndIncr).  Failure of the set operation
  2429.                      indicates that some other manager has obtained
  2430.                      ownership of the ifTestEntry.
  2431.  
  2432.                      Once ownership is obtained, any test parameters can
  2433.  
  2434.                      be setup, and then the test is initiated by setting
  2435.                      ifTestType.  On completion of the test, the agent
  2436.                      sets ifTestStatus to 'notInUse'.  Once this occurs,
  2437.                      the manager can retrieve the results.  In the
  2438.                      (rare) event that the invocation of tests by two
  2439.                      network managers were to overlap, then there would
  2440.                      be a possibility that the first test's results
  2441.                      might be overwritten by the second test's results
  2442.                      prior to the first results being read.  This
  2443.                      unlikely circumstance can be detected by a network
  2444.                      manager retrieving ifTestId at the same time as
  2445.                      retrieving the test results, and ensuring that the
  2446.                      results are for the desired request.
  2447.  
  2448.                      If ifTestType is not set within an abnormally long
  2449.                      period of time after ownership is obtained, the
  2450.                      agent should time-out the manager, and reset the
  2451.                      value of the ifTestStatus object back to
  2452.                      'notInUse'.  It is suggested that this time-out
  2453.                      period be 5 minutes.
  2454.  
  2455.                      In general, a Management station must not
  2456.                      retransmit a request to invoke a test for which it
  2457.                      does not receive a response; instead, it properly
  2458.                      inspects an agent's MIB to determine if the
  2459.                      invocation was successful.  Only if the invocation
  2460.                      was unsuccessful, is the invocation request
  2461.                      retransmitted.
  2462.  
  2463.                      Some tests may require the interface to be taken
  2464.                      off-line in order to execute them, or may even
  2465.                      require the agent to reboot after completion of the
  2466.                      test.  In these circumstances, communication with
  2467.                      the management station invoking the test may be
  2468.                      lost until after completion of the test.  The agent
  2469.                      should make every effort to transmit a response to
  2470.  
  2471.  
  2472.  
  2473.  
  2474.  
  2475.           Expires 8 Feb 1994                                   [Page 42]
  2476.  
  2477.  
  2478.  
  2479.  
  2480.           Draft             Interfaces Group Evolution       August 1993
  2481.  
  2482.  
  2483.                      the request which invoked the test prior to losing
  2484.                      communication.  When the agent is restored to
  2485.                      normal service, the results of the test are
  2486.                      properly made available in the appropriate objects.
  2487.                      Note that this requires that the ifIndex value
  2488.                      assigned to an interface must be unchanged even if
  2489.                      the test causes a reboot.  An agent must reject any
  2490.                      test for which it cannot, perhaps due to resource
  2491.  
  2492.                      constraints, make available at least the minimum
  2493.                      amount of information after that test completes."
  2494.               ::= { ifMIBObjects 3 }
  2495.  
  2496.           ifTestEntry OBJECT-TYPE
  2497.               SYNTAX       IfTestEntry
  2498.               MAX-ACCESS   not-accessible
  2499.               STATUS       current
  2500.               DESCRIPTION
  2501.                       "An entry containing objects for invoking tests on
  2502.                       an interface."
  2503.               AUGMENTS  { ifEntry }
  2504.               ::= { ifTestTable 1 }
  2505.  
  2506.           IfTestEntry ::=
  2507.               SEQUENCE {
  2508.                   ifTestId           TestAndIncr,
  2509.                   ifTestStatus       INTEGER,
  2510.                   ifTestType         AutonomousType,
  2511.                   ifTestResult       INTEGER,
  2512.                   ifTestCode         OBJECT IDENTIFIER,
  2513.                   ifTestOwner        OwnerString
  2514.               }
  2515.  
  2516.           ifTestId         OBJECT-TYPE
  2517.               SYNTAX       TestAndIncr
  2518.               MAX-ACCESS   read-write
  2519.               STATUS       current
  2520.               DESCRIPTION
  2521.                       "This object identifies the current invocation of
  2522.                       the interface's test."
  2523.               ::= { ifTestEntry 1 }
  2524.  
  2525.           ifTestStatus     OBJECT-TYPE
  2526.               SYNTAX       INTEGER { notInUse(1), inUse(2) }
  2527.               MAX-ACCESS   read-write
  2528.               STATUS       current
  2529.  
  2530.  
  2531.  
  2532.  
  2533.  
  2534.           Expires 8 Feb 1994                                   [Page 43]
  2535.  
  2536.  
  2537.  
  2538.  
  2539.           Draft             Interfaces Group Evolution       August 1993
  2540.  
  2541.  
  2542.               DESCRIPTION
  2543.                       "This object indicates whether or not a manager
  2544.                       currently has the necessary 'ownership' required
  2545.                       to invoke a test on this interface.  A write to
  2546.                       this object is only successful when it changes its
  2547.                       value from 'notInUse(1)' to 'inUse(2)'.  After
  2548.                       completion of a test, the agent resets the value
  2549.  
  2550.                       back to 'notInUse(1)'."
  2551.               ::= { ifTestEntry 2 }
  2552.  
  2553.           ifTestType       OBJECT-TYPE
  2554.               SYNTAX       AutonomousType
  2555.               MAX-ACCESS   read-write
  2556.               STATUS       current
  2557.               DESCRIPTION
  2558.                       "A control variable used to start and stop
  2559.                       operator-initiated interface tests.  Most OBJECT
  2560.                       IDENTIFIER values assigned to tests are defined
  2561.                       elsewhere, in association with specific types of
  2562.                       interface.  However, this document assigns a value
  2563.                       for a full-duplex loopback test, and defines the
  2564.                       special meanings of the subject identifier:
  2565.  
  2566.                           noTest  OBJECT IDENTIFIER ::= { 0 0 }
  2567.  
  2568.                       When the value noTest is written to this object,
  2569.                       no action is taken unless a test is in progress,
  2570.                       in which case the test is aborted.  Writing any
  2571.                       other value to this object is only valid when no
  2572.                       test is currently in progress, in which case the
  2573.                       indicated test is initiated.
  2574.  
  2575.                       When read, this object always returns the most
  2576.                       recent value that ifTestType was set to.  If it
  2577.                       has not been set since the last initialization of
  2578.                       the network management subsystem on the agent, a
  2579.                       value of noTest is returned."
  2580.               ::= { ifTestEntry 3 }
  2581.  
  2582.           ifTestResult  OBJECT-TYPE
  2583.               SYNTAX       INTEGER {
  2584.                                none(1),          -- no test yet requested
  2585.                                success(2),
  2586.                                inProgress(3),
  2587.                                notSupported(4),
  2588.  
  2589.  
  2590.  
  2591.  
  2592.  
  2593.           Expires 8 Feb 1994                                   [Page 44]
  2594.  
  2595.  
  2596.  
  2597.  
  2598.           Draft             Interfaces Group Evolution       August 1993
  2599.  
  2600.  
  2601.                                unAbleToRun(5),   -- due to state of system
  2602.                                aborted(6),
  2603.                                failed(7)
  2604.                            }
  2605.               MAX-ACCESS   read-only
  2606.               STATUS       current
  2607.  
  2608.               DESCRIPTION
  2609.                       "This object contains the result of the most
  2610.                       recently requested test, or the value none(1) if
  2611.                       no tests have been requested since the last reset.
  2612.                       Note that this facility provides no provision for
  2613.                       saving the results of one test when starting
  2614.                       another, as could be required if used by multiple
  2615.                       managers concurrently."
  2616.               ::= { ifTestEntry 4 }
  2617.  
  2618.           ifTestCode  OBJECT-TYPE
  2619.               SYNTAX       OBJECT IDENTIFIER
  2620.               MAX-ACCESS   read-only
  2621.               STATUS       current
  2622.               DESCRIPTION
  2623.                       "This object contains a code which contains more
  2624.                       specific information on the test result, for
  2625.                       example an error-code after a failed test.  Error
  2626.                       codes and other values this object may take are
  2627.                       specific to the type of interface and/or test.
  2628.                       The value may have the semantics of either the
  2629.                       AutonomousType or InstancePointer textual
  2630.                       conventions as defined in RFC 1443.  The
  2631.                       identifier:
  2632.  
  2633.                           testCodeUnknown  OBJECT IDENTIFIER ::= { 0 0 }
  2634.  
  2635.                       is defined for use if no additional result code is
  2636.                       available."
  2637.               ::= { ifTestEntry 5 }
  2638.  
  2639.           ifTestOwner      OBJECT-TYPE
  2640.               SYNTAX       OwnerString
  2641.               MAX-ACCESS   read-write
  2642.               STATUS       current
  2643.               DESCRIPTION
  2644.                       "The entity which currently has the 'ownership'
  2645.                       required to invoke a test on this interface."
  2646.               ::= { ifTestEntry 6 }
  2647.  
  2648.  
  2649.  
  2650.  
  2651.  
  2652.           Expires 8 Feb 1994                                   [Page 45]
  2653.  
  2654.  
  2655.  
  2656.  
  2657.           Draft             Interfaces Group Evolution       August 1993
  2658.  
  2659.  
  2660.           --   Generic Receive Address Table
  2661.           --
  2662.           -- This group of objects is mandatory for all types of
  2663.           -- interfaces which can receive packets/frames addressed to
  2664.           -- more than one address.
  2665.  
  2666.           --
  2667.           -- This table replaces the ifExtnsRcvAddr table.  The main
  2668.           -- difference is that this table makes use of the RowStatus
  2669.           -- textual convention, while ifExtnsRcvAddr did not.
  2670.  
  2671.           ifRcvAddressTable  OBJECT-TYPE
  2672.               SYNTAX      SEQUENCE OF IfRcvAddressEntry
  2673.               MAX-ACCESS  not-accessible
  2674.               STATUS      current
  2675.               DESCRIPTION
  2676.                       "This table contains an entry for each address
  2677.                       (broadcast, multicast, or uni-cast) for which the
  2678.                       system will receive packets/frames on a particular
  2679.                       interface, except as follows:
  2680.  
  2681.                       - for an interface operating in promiscuous mode,
  2682.                       entries are only required for those addresses for
  2683.                       which the system would receive frames were it not
  2684.                       operating in promiscuous mode.
  2685.  
  2686.                       - for 802.5 functional addresses, only one entry
  2687.                       is required, for the address which has the
  2688.                       functional address bit ANDed with the bit mask of
  2689.                       all functional addresses for which the interface
  2690.                       will accept frames."
  2691.               ::= { ifMIBObjects 4 }
  2692.  
  2693.           ifRcvAddressEntry  OBJECT-TYPE
  2694.               SYNTAX      IfRcvAddressEntry
  2695.               MAX-ACCESS  not-accessible
  2696.               STATUS      current
  2697.               DESCRIPTION
  2698.                       "A list of objects identifying an address for
  2699.                       which the system will accept packets/frames on the
  2700.                       particular interface identified by the index value
  2701.                       ifIndex."
  2702.               INDEX  { ifIndex, ifRcvAddressAddress }
  2703.               ::= { ifRcvAddressTable 1 }
  2704.  
  2705.           IfRcvAddressEntry ::=
  2706.  
  2707.  
  2708.  
  2709.  
  2710.  
  2711.           Expires 8 Feb 1994                                   [Page 46]
  2712.  
  2713.  
  2714.  
  2715.  
  2716.           Draft             Interfaces Group Evolution       August 1993
  2717.  
  2718.  
  2719.               SEQUENCE {
  2720.                   ifRcvAddressAddress   PhysAddress,
  2721.                   ifRcvAddressStatus    RowStatus,
  2722.                   ifRcvAddressType      INTEGER
  2723.  
  2724.               }
  2725.  
  2726.           ifRcvAddressAddress OBJECT-TYPE
  2727.               SYNTAX      PhysAddress
  2728.               MAX-ACCESS  read-create
  2729.               STATUS      current
  2730.               DESCRIPTION
  2731.                       "An address for which the system will accept
  2732.                       packets/frames on this entry's interface."
  2733.               ::= { ifRcvAddressEntry 1 }
  2734.  
  2735.           ifRcvAddressStatus OBJECT-TYPE
  2736.               SYNTAX      RowStatus
  2737.               MAX-ACCESS  read-write
  2738.               STATUS      current
  2739.               DESCRIPTION
  2740.                       "This object is used to create and delete rows in
  2741.                       the ifRcvAddressTable."
  2742.  
  2743.               ::= { ifRcvAddressEntry 2 }
  2744.  
  2745.           ifRcvAddressType OBJECT-TYPE
  2746.               SYNTAX      INTEGER {
  2747.                               other(1),
  2748.                               volatile(2),
  2749.                               nonVolatile(3)
  2750.                           }
  2751.  
  2752.               MAX-ACCESS  read-create
  2753.               STATUS      current
  2754.               DESCRIPTION
  2755.                       "This object has the value nonVolatile(3) for
  2756.                       those entries in the table which are valid and
  2757.                       will not be deleted by the next restart of the
  2758.                       managed system.  Entries having the value
  2759.                       volatile(2) are valid and exist, but have not been
  2760.                       saved, so that will not exist after the next
  2761.                       restart of the managed system.  Entries having the
  2762.                       value other(1) are valid and exist but are not
  2763.                       classified as to whether they will continue to
  2764.                       exist after the next restart."
  2765.  
  2766.  
  2767.  
  2768.  
  2769.  
  2770.           Expires 8 Feb 1994                                   [Page 47]
  2771.  
  2772.  
  2773.  
  2774.  
  2775.           Draft             Interfaces Group Evolution       August 1993
  2776.  
  2777.  
  2778.               DEFVAL  { volatile }
  2779.               ::= { ifRcvAddressEntry 3 }
  2780.  
  2781.  
  2782.  
  2783.  
  2784.  
  2785.  
  2786.  
  2787.  
  2788.  
  2789.  
  2790.  
  2791.  
  2792.  
  2793.  
  2794.  
  2795.  
  2796.  
  2797.  
  2798.  
  2799.  
  2800.  
  2801.  
  2802.  
  2803.  
  2804.  
  2805.  
  2806.  
  2807.  
  2808.  
  2809.  
  2810.  
  2811.  
  2812.  
  2813.  
  2814.  
  2815.  
  2816.  
  2817.  
  2818.  
  2819.  
  2820.  
  2821.  
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.           Expires 8 Feb 1994                                   [Page 48]
  2830.  
  2831.  
  2832.  
  2833.  
  2834.           Draft             Interfaces Group Evolution       August 1993
  2835.  
  2836.  
  2837.           -- conformance information
  2838.  
  2839.  
  2840.           ifConformance OBJECT IDENTIFIER ::= { ifMIB 2 }
  2841.  
  2842.           ifGroups      OBJECT IDENTIFIER ::= { ifConformance 1 }
  2843.           ifCompliances OBJECT IDENTIFIER ::= { ifConformance 2 }
  2844.  
  2845.  
  2846.           -- compliance statements
  2847.  
  2848.           ifCompliance MODULE-COMPLIANCE
  2849.               STATUS  current
  2850.               DESCRIPTION
  2851.                       "The compliance statement for SNMPv2 entities
  2852.                       which have network interfaces."
  2853.  
  2854.               MODULE  -- this module
  2855.                   MANDATORY-GROUPS { ifGeneralGroup, ifStackGroup }
  2856.  
  2857.                   GROUP       ifCharacterGroup
  2858.                   DESCRIPTION
  2859.                       "This group is mandatory for all network
  2860.                       interfaces which are character-oriented or
  2861.                       packet-oriented."
  2862.  
  2863.                   GROUP       ifHCCharacterGroup
  2864.                   DESCRIPTION
  2865.                       "This group is mandatory only for those network
  2866.                       interfaces which are character-oriented or
  2867.                       packet-oriented, and for which the value of the
  2868.                       corresponding instance of ifSpeed is greater than
  2869.                       20,000,000 bits/second."
  2870.  
  2871.                   GROUP       ifPacketGroup
  2872.                   DESCRIPTION
  2873.                       "This group is mandatory for all network
  2874.                       interfaces which are packet-oriented."
  2875.  
  2876.                   GROUP       ifHCPacketGroup
  2877.                   DESCRIPTION
  2878.                       "This group is mandatory only for those network
  2879.                       interfaces which are packet-oriented and for which
  2880.                       the value of the corresponding instance of ifSpeed
  2881.                       is greater than 600,000,000 bits/second."
  2882.  
  2883.  
  2884.  
  2885.  
  2886.  
  2887.  
  2888.           Expires 8 Feb 1994                                   [Page 49]
  2889.  
  2890.  
  2891.  
  2892.  
  2893.           Draft             Interfaces Group Evolution       August 1993
  2894.  
  2895.  
  2896.                   GROUP       ifTestGroup
  2897.  
  2898.                   DESCRIPTION
  2899.                       "This group is optional.  Media-specific MIBs
  2900.                       which require interface tests are strongly
  2901.                       encouraged to use this group for invoking tests
  2902.                       and reporting results.  A medium specific MIB
  2903.                       which has mandatory tests may make implementation
  2904.                       of this group mandatory."
  2905.  
  2906.                   GROUP       ifRcvAddressGroup
  2907.                   DESCRIPTION
  2908.                       "The applicability of this group MUST be defined
  2909.                       by the media-specific MIBs.  Media-specific MIBs
  2910.                       must define the exact meaning, use, and semantics
  2911.                       of the addresses in this group."
  2912.  
  2913.                   OBJECT      ifPromiscuousMode
  2914.                   MIN-ACCESS  read-only
  2915.                   DESCRIPTION
  2916.                       "Write access is not required."
  2917.  
  2918.                   OBJECT      ifStackStatus
  2919.                   SYNTAX      INTEGER { active(1) } -- subset of RowStatus
  2920.                   MIN-ACCESS  read-only
  2921.                   DESCRIPTION
  2922.                       "Write access is not required, and only one of the
  2923.                       six enumerated values for the RowStatus textual
  2924.                       convention need be supported, specifically:
  2925.                       active(1)."
  2926.  
  2927.                   OBJECT       ifAdminStatus
  2928.                   SYNTAX       INTEGER { up(1), down(2) }
  2929.                   DESCRIPTION
  2930.                       "Implementations are not required to support the
  2931.                       value testing(3)."
  2932.               ::= { ifCompliances 1 }
  2933.  
  2934.  
  2935.  
  2936.  
  2937.  
  2938.  
  2939.  
  2940.  
  2941.  
  2942.  
  2943.  
  2944.  
  2945.  
  2946.  
  2947.           Expires 8 Feb 1994                                   [Page 50]
  2948.  
  2949.  
  2950.  
  2951.  
  2952.           Draft             Interfaces Group Evolution       August 1993
  2953.  
  2954.  
  2955.  
  2956.           -- units of conformance
  2957.  
  2958.           ifGeneralGroup    OBJECT-GROUP
  2959.               OBJECTS { ifDescr, ifType, ifSpeed, ifPhysAddress,
  2960.                         ifAdminStatus, ifOperStatus, ifLastChange,
  2961.                         ifSpecific, ifLinkUpDownTrapEnable,
  2962.                         ifHighSpeed }
  2963.               STATUS  current
  2964.               DESCRIPTION
  2965.                       "A collection of objects providing information
  2966.                       applicable to all network interfaces."
  2967.               ::= { ifGroups 1 }
  2968.  
  2969.           ifCharacterGroup    OBJECT-GROUP
  2970.               OBJECTS { ifInOctets, ifOutOctets }
  2971.               STATUS  current
  2972.               DESCRIPTION
  2973.                       "A collection of objects providing information
  2974.                       specific to packet-oriented or character-oriented
  2975.                       network interfaces."
  2976.               ::= { ifGroups 2 }
  2977.  
  2978.           ifHCCharacterGroup    OBJECT-GROUP
  2979.               OBJECTS { ifHCInOctets, ifHCOutOctets }
  2980.               STATUS  current
  2981.               DESCRIPTION
  2982.                       "A collection of objects providing information
  2983.                       specific to high speed (greater than 20,000,000
  2984.                       bits/second) packet-oriented or character-oriented
  2985.                       network interfaces."
  2986.               ::= { ifGroups 3 }
  2987.  
  2988.           ifPacketGroup    OBJECT-GROUP
  2989.               OBJECTS { ifMtu, ifInUcastPkts, ifInMulticastPkts,
  2990.                         ifInBroadcastPkts, ifInDiscards, ifInErrors,
  2991.                         ifInUnknownProtos, ifOutUcastPkts,
  2992.                         ifOutMulticastPkts, ifOutBroadcastPkts,
  2993.                         ifOutDiscards, ifOutErrors, ifPromiscuousMode }
  2994.               STATUS  current
  2995.               DESCRIPTION
  2996.                       "A collection of objects providing information
  2997.                       specific to packet-oriented network interfaces."
  2998.               ::= { ifGroups 4 }
  2999.  
  3000.           ifHCPacketGroup    OBJECT-GROUP
  3001.  
  3002.  
  3003.  
  3004.  
  3005.  
  3006.           Expires 8 Feb 1994                                   [Page 51]
  3007.  
  3008.  
  3009.  
  3010.  
  3011.           Draft             Interfaces Group Evolution       August 1993
  3012.  
  3013.  
  3014.  
  3015.               OBJECTS { ifHCInUcastPkts, ifHCInMulticastPkts,
  3016.                         ifHCInBroadcastPkts, ifHCOutUcastPkts,
  3017.                         ifHCOutMulticastPkts, ifHCOutBroadcastPkts
  3018.                       }
  3019.               STATUS  current
  3020.               DESCRIPTION
  3021.                       "A collection of objects providing information
  3022.                       specific to high speed (greater than 600,000,000
  3023.                       bits/second) packet-oriented network interfaces."
  3024.               ::= { ifGroups 5 }
  3025.  
  3026.           ifRcvAddressGroup    OBJECT-GROUP
  3027.               OBJECTS { ifRcvAddressStatus, ifRcvAddressType }
  3028.               STATUS  current
  3029.               DESCRIPTION
  3030.                       "A collection of objects providing information on
  3031.                       the multiple addresses which an interface
  3032.                       receives."
  3033.               ::= { ifGroups 6 }
  3034.  
  3035.  
  3036.           ifTestGroup    OBJECT-GROUP
  3037.               OBJECTS { ifTestId, ifTestStatus, ifTestType,
  3038.                         ifTestResult, ifTestCode, ifTestOwner }
  3039.               STATUS  current
  3040.               DESCRIPTION
  3041.                       "A collection of objects providing the ability to
  3042.                       invoke tests on an interface."
  3043.               ::= { ifGroups 7 }
  3044.  
  3045.           ifStackGroup    OBJECT-GROUP
  3046.               OBJECTS { ifStackStatus }
  3047.               STATUS  current
  3048.               DESCRIPTION
  3049.                       "A collection of objects providing information on
  3050.                       the layering of MIB-II interfaces."
  3051.               ::= { ifGroups 8 }
  3052.  
  3053.           END
  3054.  
  3055.  
  3056.  
  3057.  
  3058.  
  3059.  
  3060.  
  3061.  
  3062.  
  3063.  
  3064.  
  3065.           Expires 8 Feb 1994                                   [Page 52]
  3066.  
  3067.  
  3068.  
  3069.  
  3070.           Draft             Interfaces Group Evolution       August 1993
  3071.  
  3072.  
  3073.  
  3074.           6.  Acknowledgements
  3075.  
  3076.           This memo has been produced by the IETF's Interfaces MIB
  3077.           working-group.  The initial proposal to the working-group was
  3078.           the result of conversations and discussions with many people,
  3079.           including at least the following: Fred Baker, Ted Brunner,
  3080.           Chuck Davin, Jeremy Greene, Marshall Rose, Kaj Tesink, and
  3081.           Dean Throop.
  3082.  
  3083.  
  3084.  
  3085.  
  3086.  
  3087.  
  3088.  
  3089.  
  3090.  
  3091.  
  3092.  
  3093.  
  3094.  
  3095.  
  3096.  
  3097.  
  3098.  
  3099.  
  3100.  
  3101.  
  3102.  
  3103.  
  3104.  
  3105.  
  3106.  
  3107.  
  3108.  
  3109.  
  3110.  
  3111.  
  3112.  
  3113.  
  3114.  
  3115.  
  3116.  
  3117.  
  3118.  
  3119.  
  3120.  
  3121.  
  3122.  
  3123.  
  3124.           Expires 8 Feb 1994                                   [Page 53]
  3125.  
  3126.  
  3127.  
  3128.  
  3129.  
  3130.           Draft             Interfaces Group Evolution       August 1993
  3131.  
  3132.  
  3133.           7.  References
  3134.  
  3135.           [1]  J. Case, K. McCloghrie, M. Rose, and S. Waldbusser,
  3136.                Structure of Management Information for version 2 of the
  3137.                Simple Network Management Protocol (SNMPv2), Request for
  3138.                Comments 1442, April 1993.
  3139.  
  3140.  
  3141.           [2]  J. Galvin, K. McCloghrie, Administrative Model for
  3142.                version 2 of the Simple Network Management Protocol
  3143.                (SNMPv2), Request for Comments 1448, April 1993.
  3144.  
  3145.  
  3146.           [3]  J. Case, K. McCloghrie, M. Rose, and S. Waldbusser,
  3147.                Protocol Operations for version 2 of the Simple Network
  3148.                Management Protocol (SNMPv2), Request for Comments 1448,
  3149.                April 1993.
  3150.  
  3151.  
  3152.           [4]  K. McCloghrie and M.T. Rose, Management Information Base
  3153.                for Network Management of TCP/IP-based internets - MIB-
  3154.                II, Request for Comments 1213.  March 1991.
  3155.  
  3156.  
  3157.           [5]  J.D. Case, M.S. Fedor, M.L. Schoffstall, and J.R. Davin,
  3158.                Simple Network Management Protocol, Request for Comments
  3159.                1157.  May 1990.
  3160.  
  3161.  
  3162.           [6]  J. Postel, Internet Protocol, Request for Comments 791,
  3163.                September 1981.
  3164.  
  3165.  
  3166.           [7]  K. McCloghrie, Extensions to the Generic-Interface MIB,
  3167.                Request for Comments 1229, May 1991.
  3168.  
  3169.  
  3170.  
  3171.  
  3172.  
  3173.  
  3174.  
  3175.  
  3176.  
  3177.  
  3178.  
  3179.  
  3180.  
  3181.  
  3182.  
  3183.           Expires 8 Feb 1994                                   [Page 54]
  3184.  
  3185.  
  3186.  
  3187.  
  3188.  
  3189.           Draft             Interfaces Group Evolution       August 1993
  3190.  
  3191.  
  3192.           8.  Security Considerations
  3193.  
  3194.           Security issues are not discussed in this memo.
  3195.  
  3196.  
  3197.           9.  Authors' Address
  3198.  
  3199.                Keith McCloghrie
  3200.                Hughes LAN Systems
  3201.                1225 Charleston Rd,
  3202.                Mountain View, Ca 94043
  3203.                415-966-7934
  3204.                kzm@hls.com
  3205.  
  3206.                Frank Kastenholz
  3207.                FTP Software
  3208.                2 High Street
  3209.                North Andover, Mass. USA 01845
  3210.                (508)685-4000
  3211.                kasten@ftp.com
  3212.  
  3213.  
  3214.  
  3215.  
  3216.  
  3217.  
  3218.  
  3219.  
  3220.  
  3221.  
  3222.  
  3223.  
  3224.  
  3225.  
  3226.  
  3227.  
  3228.  
  3229.  
  3230.  
  3231.  
  3232.  
  3233.  
  3234.  
  3235.  
  3236.  
  3237.  
  3238.  
  3239.  
  3240.  
  3241.  
  3242.           Expires 8 Feb 1994                                   [Page 55]
  3243.  
  3244.  
  3245.  
  3246.  
  3247.  
  3248.           Draft             Interfaces Group Evolution       August 1993
  3249.  
  3250.  
  3251.           Table of Contents
  3252.  
  3253.  
  3254.           1 Introduction ..........................................    2
  3255.           1.1 Change Log ..........................................    2
  3256.           2 The SNMPv2 Network Management Framework ...............    5
  3257.           2.1 Object Definitions ..................................    5
  3258.           3 Experience with the Interfaces Group ..................    6
  3259.           3.1 Areas of Clarification/Revision .....................    6
  3260.           3.1.1 Interface Numbering ...............................    6
  3261.           3.1.2 Interface Sub-Layers ..............................    7
  3262.           3.1.3 Virtual Circuits ..................................    8
  3263.           3.1.4 Bit and Character Oriented Interfaces .............    8
  3264.           3.1.5 Counter Size ......................................    9
  3265.           3.1.6 Interface Speed ...................................    9
  3266.           3.1.7 Multicast/Broadcast Counters ......................    9
  3267.           3.1.8 Output Queue ......................................    9
  3268.           3.2 Clarifications/Revisions ............................    9
  3269.           3.2.1 Interface Numbering ...............................   10
  3270.           3.2.2 Interface Sub-Layers ..............................   11
  3271.           3.2.3 Virtual Circuits ..................................   14
  3272.           3.2.4 Bit and Character Oriented Interfaces .............   14
  3273.           3.2.5 Counter Size ......................................   15
  3274.           3.2.6 Interface Speed ...................................   17
  3275.           3.2.7 Multicast/Broadcast Counters ......................   18
  3276.           3.2.8 Output Queue ......................................   19
  3277.           3.2.9 Trap Enable .......................................   19
  3278.           3.3 Media-Specific MIB Applicability ....................   19
  3279.           4 The Interface Test Table ..............................   20
  3280.           5 Definitions ...........................................   21
  3281.           6 Acknowledgements ......................................   53
  3282.           7 References ............................................   54
  3283.           8 Security Considerations ...............................   55
  3284.           9 Authors' Address ......................................   55
  3285.  
  3286.  
  3287.  
  3288.  
  3289.  
  3290.  
  3291.  
  3292.  
  3293.  
  3294.  
  3295.  
  3296.  
  3297.  
  3298.  
  3299.  
  3300.  
  3301.           Expires 8 Feb 1994                                   [Page 56]
  3302.  
  3303.  
  3304.